ashx文件上传控件直接读取Excel文件内容的问题

问题描述

各位高手大家好,本人想请教个技术问题啊。我在本地页面放了一个上传控件想通过ajax的方式来读取用户上传上来的Excel的文件内容,但是不想把Excel先上传到服务器在读取,想直接读取,请参考代码:ashx文件:publicvoidProcessRequest(HttpContextcontext){stringfu=context.Request["fu"];//客户端上传上来的文件路径DataTabledt=ExcelDataSource(context.Server.MapPath(fu),"Sheet1");//读取Excel文件内容context.Response.ContentType="text/plain";context.Response.Write(dt.Rows.Count.ToString());}publicDataTableExcelDataSource(stringfilepath,stringsheetname){stringstrConn;strConn="Provider=Microsoft.ACE.OLEDB.12.0;DataSource="+filepath+";ExtendedProperties='Excel8.0;HDR=YES;IMEX=1;';";using(OleDbConnectionconn=newOleDbConnection(strConn)){OleDbDataAdapteroada=newOleDbDataAdapter("select*from["+sheetname+"$]",strConn);DataTabledt=newDataTable();oada.Fill(dt);returndt;}}Web页面就是一个上传控件:ajax方式:$.ajax({type:"POST",url:"Ajax/FU.ashx",data:"fu="+escape(fu.val()),success:function(data,textStatus){alert(data);},error:function(XMLHttpRequest,textStatus,errorThrown){alert(XMLHttpRequest.status);}//dataType:"xml"});在本地测试是OK的,我发布到服务器上就不行了,报500错误,我认为就是因为WEB页在服务上所以得到客户端的文件路径没用的。请指点下

解决方案

解决方案二:
“WEB页在服务上所以得到客户端的文件路径”?我明告诉你,我有个图片在d:downhi_girl.png,你从你的网站上都我吧!
解决方案三:
引用1楼的回复:

“WEB页在服务上所以得到客户端的文件路径”?我明告诉你,我有个图片在d:downhi_girl.png,你从你的网站上都我吧!

不好意思,可能您理解错啦,我的意思是说我想从WEB页里的上传控件用AJAX的方式进行读取Excel文件。
解决方案四:
有人能给我一个解决思路吗?
解决方案五:
不上传是不可能的,就算你直接用Request.Files,文件已经上传到临时文件了,服务器只有获取到文件才能做读取
解决方案六:
引用4楼的回复:

不上传是不可能的,就算你直接用Request.Files,文件已经上传到临时文件了,服务器只有获取到文件才能做读取

那请问怎样上传到临时文件?我不想直接上传上来啊,毕竟每次操作的话都要上传一个Excel,不太好吧。时间久了,服务器上就有很多Excel文件了
解决方案七:
你直接读取Request.Files里面的文件不做保存即可
解决方案八:
引用6楼的回复:

你直接读取Request.Files里面的文件不做保存即可

问题是我用了AJAX的ashx文件,那里面得不到Request.Files的文件啊。是空的,能否有代码参考?
解决方案九:
哦,没看到题,用ajax是无法上传二进制的,内部只能走普通文本,你可以通过一个iframe的src来进行上传,也是无刷新的,在上传完之后通过ashx返回一个divResponse.Write(str),表示上传成功即可
解决方案十:
引用8楼的回复:

哦,没看到题,用ajax是无法上传二进制的,内部只能走普通文本,你可以通过一个iframe的src来进行上传,也是无刷新的,在上传完之后通过ashx返回一个divResponse.Write(str),表示上传成功即可

请问有没有DEMO代码参考啊?谢谢。。。。
解决方案十一:
我也在考虑这个问题,能不能不保存到服务器磁盘上,也就是不SaveAs,直接从内存中读取文件内容?

时间: 2024-08-01 03:41:20

ashx文件上传控件直接读取Excel文件内容的问题的相关文章

ASP.NET文件上传控件Uploadify的使用方法_实用技巧

对于文件上传来说,有很多种实现方式,如传统的表单方式,现在流行的flash方式,甚至还有纯JS方式,之所以有这些方式来实现文件上传,我想主要原因是因为,传统的上传对于大文件支持不够,因为它是单线程同步机制,当大文件通过HTTP方式发送到服务端时,对于服务端站点的主线程影响比较大,会产生阻塞,所以,现在很多上传控制都是异步,多线程的方式去实现的. 今天来介绍一个文件上传控制,它就是Uploadify,它应该是flash的异步上传工具,对于大文件支持还不错,所以,我选择了它. 相关API介绍 upl

5款Ajax 文件上传控件_AJAX相关

1. FancyUpload (演示地址) FancyUpload是一个采用Flash与Ajax(MooTools)技术实现包含上传进度条的多文件上传组件,类似于SWFUpload. 2. SwfUploadPanel (演示地址) SwfUploadPanel是一个结合SwfUpload v2.0.2与ExtJS 2.0.x开发的多文件上传面板(panel). 3. Yahoo! UI Library: Uploader (演示地址) YUI Uploader Control结合Flash开发

javascript实现校验文件上传控件实例

  实例讲述了javascript实现校验文件上传控件.分享给大家供大家参考.具体如下: 该javascript校验文件上传控件代码可检测上传文件的类型是否是图片 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <script language="javascript"> function Checkfiles() { var fup = document.getElementById('logo1'); var file

自定义文件上传控件样式-input透明法

自定义文件上传控件样式-input透明法. 作为一个刚入坑不久的程序小白,今天和一个自定义<input type="file">控件的工作斗智斗勇了一上午.通过各种膜拜大神们的资料,总算最后有了一个还算看的过去的解决方案,来记录一下. 页面中,<input type="file">控件的默认显示 在Chrome中是这样: 在IE里是这样: 要如何使它变成下面这样,点击此区域也能上传文件呢? 原理:将input放进一个具有背景的div标签中,并

asp.net中的文件上传控件能否打开一个固定文件夹然后再选择文件

问题描述 asp.net中的文件上传控件能否打开一个固定文件夹然后再选择文件asp.net中的文件上传控件能否打开一个固定文件夹然后再选择文件我现在要上传文件,但是在点击浏览的时候我想要打开一个指定的目录,然后在这个目录中选择文件..用什么方法能够实现呢?请各位大侠帮忙呀!!!!!!!!!??????????????????????????谢谢各位!!!!!!!! 解决方案 解决方案二:属于客户端程序,安全考虑的话怕不可行解决方案三:可以,将所选目录文件列出就行了,用常用的IO操作就能实现CSD

ria-想自己做个文件上传控件,用什么方法好?

问题描述 想自己做个文件上传控件,用什么方法好? RT,因为工作需要,需要实现一个批量上传文件的功能,除此之外,还需要在选择文件的时候提供针对每个文件的复选按钮,附加一些信息,因此很难在网上找到一中现成的插件,就像自己实现一个. 最早的时候看到的是activeX方式,觉得比较可行. 后来又发现有RIA技术,感觉比较方便. 就想问一下有过这方面经验的前辈,用哪种方式实现好一点?或者还有其他方式?求前辈高人不吝赐教,谢了! 解决方案 swfupload是一个选择,世界上已经有了轮子,你不必再去造轮子

jQuery文件上传控件 Uploadify 详解_jquery

基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件. 要求使用jquery1.4或以上版本,flash player 9.0.24以上. 有两个版本,一个用flash,一个是html5.html5的需要付费~所以这里只说flash版本的用法. 官网:http://www.uploadify.com/ 控件截图: 用法: 首先引用下面的文件 <link rel="stylesheet" type="text/css&

Javascript美化input=file文件上传控件

[实例名称] JS实现文件上传一次性完成 [实例描述] 默认的HTML控件file可以实现文件的上传,但必须经过选择文件和单击上传按钮两个步骤.本例学习如何实现一步上传文件的操作. 例子  代码如下 复制代码 <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>标题页-学无忧(www.111cn.net)</title> </head> <body>

vs2005下有没有好的大文件上传控件 谢谢了~!

问题描述 vs2005下有没有好的大文件上传控件谢谢了~! 解决方案 解决方案二:FileUpload不行???????解决方案三:vs2005自带的,很好用,在webconfig配置就行了.解决方案四:大文件得多大?