关于ASP.NET 多文件上传,我至少重大的研究过四、五次,从刚学ASP.NET开始就试。项目 做了快2年了,一开始这个不是最重要的问题,拖着拖着,现在绕不过去了,非得解决。
最简单的,研究过一些,点一下,再也一个upload上传控件,最后统一点上传一起上传。这个是假的,那和一个一个点上传没什么区别。要的是能多选文件的上传,这就必须要用到flash。
我下载了一个例子。在它给的工程里,我新建个页面,也可以用那个flash上传。但放在我的工程里就不行了,它的是个网站工程,我的工程是个Website,是不是Website不能用啊?关键的几个文件:UploadHandler.cs这个放在App_Code下
在自己的页面里加入
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 
     codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
      width="575" height="375" id="fileUpload" align="middle">
      <param name="allowScriptAccess" value="sameDomain" />
      <param name="movie" value="FlashUpLoad.swf" />
      <param name="quality" value="high" />
      <param name="wmode" value="transparent"/>
      <param name=FlashVars value='&fileTypes=*.gif%3b*.jpg%3b*.png%3b*.jpeg&fileTypeDescription=Images&totalUploadSize=2500000&fileSizeLimit=1000000&uploadPage=/Flash/Upload.axd?'/>
      <embed src="/WebResource.axd?d=gOdWKm-Bl4th9yYrTKOdM7OtJxU8c3u2sEZgx9jiajuTA-8bWgc7NnQps4l-e1tv0&t=633779865739843750" FlashVars='&fileTypes=*.gif%3b*.jpg%3b*.png%3b*.jpeg&fileTypeDescription=Images&totalUploadSize=2500000&fileSizeLimit=1000000&uploadPage=/Flash/Upload.axd?' quality="high" wmode="transparent" width="575" height="375"  name="fileUpload" align="middle" allowScriptAccess="sameDomain"  type="application/x-shockwave-flash"  pluginspage="http://www.macromedia.com/go/getflashplayer" />
在工程里加入
FlashUpLoad.swf我还在web.config里添加了 <httpHandlers>
...
<remove verb="POST,GET" path="Upload.axd"/>
<add verb="POST,GET" path="Upload.axd" type="FlashUpLoadWeb.UploadHandler"/>
</httpHandlers>
这些都是没有文档的,我自己琢磨的。不知道还少哪些,页面上显示上传成功了,但其实根本就没有运行到UploadHandler.cs里