日期:2014-05-16  浏览次数:20401 次

C#.net+JS文件批量上传解决方案附下载(swfupload)【分享】
因为最近项目需要多文件同时上传所以自己在网上找了下方法。swfupload做到了,所以我把我的C#.net环境的多文件同时上传共享给大家!(本实例最大只能上传500M的数据,如需要上传更大的下面会告诉大家如何设置)

功能完全支持ie和firefox浏览器!

一般的WEB方式文件上传只能一个一个的进行上传,在某些应用上就显得很不人性化,客户们都希望能够1次选择很多文件,然后让系统把选择的文件全部上传。

这里,就将针对这个问题提出一个比较完美的解决方案,利用的技术主要有2个:Flash和smartupload。Flash能够让客户一次选择多个文件,而smartupload负责将选择的文件上传到服务器上。

有些朋友看到这里,就知道了,其实就是swfupload方法,具体信息可以访问swfupload官方网站:http://www.swfupload.org/

让我们先来看看客户端的界面效果图。(多选文件,批量上传,上传进度显示)
 



要做到图中的效果,其实很方便,看完下面的描述,相信大家都想看看效果了。那就下载吧,附件在最下面。

下面把一些基本的方法告诉大家如何使用

首先是Default.aspx是上传文件的实例。比较简单一般都不需要改什么!下面是一些参数设置

设置文件上传的大小只需要修改Web.config文件中的maxRequestLength即可512000=1024*500得到的所以你可以设置你想要设置的大小!
C# code
<httpRuntime executionTimeout="300" maxRequestLength="512000" useFullyQualifiedRedirectUrl="false"/>

文件目录的选择设置

找到根目录里面的upload.aspx的后台代码upload.aspx.cs
C# code

string fileName = httpFile.FileName;   
      
    string preStr = "";   
      
    preStr = System.DateTime.Now.ToString() + "_";   
      
    preStr = preStr.Replace("-", "");   
      
    preStr = preStr.Replace(":", "");   
      
    preStr = preStr.Replace(" ", "");//preStr是为了改变上传的文件名称   
      
    string uploadPath = Server.MapPath("temp\\") + preStr + fileName;//在这里取的是相对目录,有个temp文件夹   
      
    httpFile.SaveAs(uploadPath);//保存上传的文件   
      
    Session["filelist"] += uploadPath + "|";//此方法是为了获取文件的实际地址并且记录下来你可以调用此session,   
      
    Response.Write("文件: " + uploadPath + " 上传成功!");//成功返回并显示  

 

好了大家只要下载我这个附件就可以去修改成你想要的效果了。注一定要在IIS下运行。不然上传路径会报错的哦!(完毕)

C#.net文件批量上传解决方案附下载页面

------解决方案--------------------
不错!支持下!
------解决方案--------------------
谢谢分享
------解决方案--------------------
我下载了你的最新版本,可是发现在IE8下,【浏览文件】按钮还是存在BUG,有时要点击很多次才能起作用,有时一直无反应?能否再解决一下这个问题,期待完美版本的出现!
------解决方案--------------------
不错了,支持
------解决方案--------------------
楼主在咨询一个问题吧,就是我在调用default页面时要传一个ID,需要在upload页面获取到这个ID值,该怎么做呀?
------解决方案--------------------
看着不错啊。。
------解决方案--------------------
mark 一下~~~ 支持~~~
------解决方案--------------------

------解决方案--------------------
C#好用不
------解决方案--------------------
支持!
------解决方案--------------------
支持!
------解决方案--------------------
支持 支持
------解决方案--------------------
学习。
------解决方案--------------------
谢谢分享
------解决方案--------------------
我测试了可以上传2G单个文件,多文件可支持176个文件
------解决方案--------------------