ASP.NET同时上传多个文件,和不使用HTMLFileInput上传的方法(resource about file upload)...

关于同时上传多个文件,目前有很多解决方案可行,如下

 

MultiPowUpload
http://www.element-it.com/MultiPowUpload.aspx
 
jQuery Multiple File Upload Plugin
http://www.fyneworks.com/jquery/multiple-file-upload/
 
Allowing Users to Upload Multiple Files at Once
http://www.dotnetjunkies.com/Tutorial/81E0C3A9-1B40-425C-B150-B578FE724A39.dcik
 
Uploading Files Using the File Field Control
http://msdn.microsoft.com/en-us/library/aa478971.aspx
 
Upload multiple files Hotmail style
http://www.codeproject.com/KB/aspnet/multiuploads.aspx

 

但几乎所有的文件上传最终都是通过HTMLFileInput控件而实现的,因为HTMLFileInput是RFC 1867标准所唯一指定的控件

(RFC 1867 Form-based File Upload in HTML http://www.ietf.org/rfc/rfc1867.txt

 

有些奇怪的客户不知是何原因,一定要使用非HTMLFileInput控件上传,这种情况下,下面的方法可以一试:

 

  1. 首先使用 FileSystemObjectXMLHttpRequest object 把要上传的文件以二进制的方式读进一个JavaScript变量(具体方法请参考http://www.javascripter.net/faq/reading2.htm
  2. 把这个JavaScript变量的值赋给一个<input type="Hidden" runat="server"/>的HiddenField里面
  3. 既然这个HiddenField是runat=server的,我们就不难把它弄到服务端去,并使用System.IO把它存成文件格式。

这样,就完成了上传。

 

但是这个方法依然有很多的问题,尤其是FSO的权限问题,用户不会随随便便就让你读他的文件系统,无奈,也只能算是种不是方法的方法吧。

 

当前,使用ActiveX控件进行HTTP方式的上传,还是最实在的,可惜不会,学会之后再发吧。

 

 

Sincerely,
Lance Zhang
Microsoft Online Community Support

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值