在.NET中上传大文件

时间:2008-11-12 19:53:26

标签: asp.net ajax file-upload httphandler large-files

我已经做了很多研究,找到了一个.NET上传组件,我可以用来上传大文件,有一个进度条,可以恢复上传大文件。我发现了一些组件,例如AjaxUploaderSlickUploadPowUpload,仅举几例。这些选项中的每一个都需要花钱,只有PowUpload可以进行可恢复的上传,但它使用java applet。我愿意支付一个可以很好地完成这些工作的组件,但是如果我能自己写一个最好的组件。

我有两个问题:

  1. 是否可以在不使用flash / java / Silverlight的情况下在客户端上恢复文件上传?
  2. 有没有人有一些代码或链接到文章解释如何编写允许流上传和ajax进度条的.NET HTTPHandler?
  3. 谢谢你,
    奥斯汀

    [编辑]

    我意识到我确实需要能够为我的项目进行可恢复文件上传,对组件的任何建议都能做到吗?

5 个答案:

答案 0 :(得分:6)

  

1)是否可以在不使用flash / java / Silverlight的情况下在客户端上恢复文件上传?

没有。实际的HTTP协议本身不支持部分上传的恢复,所以即使你使用了flash或silverlight,你仍然需要在服务器上使用像FTP这样的东西。
我在过去通过在C#中编写自定义客户端应用程序来“解决”这个问题,该应用程序将文件分解成小块(2meg),分别传输,然后服务器将它们全部组合在一起。

  

2)有没有人有一些代码或链接到文章解释如何编写允许流上传和ajax进度条的.NET HTTPHandler?

虽然这不能解决“恢复”问题,但我在客户端使用了SWFUpload并且它运行得非常出色。它提供了一个智能文件浏览器(您可以在其中提示用户只有jpeg文件等)并上传进度跟踪,所有这些都无需修改您的服务器。

答案 1 :(得分:4)

使用标准HTML文件输入控件无法恢复上传,因为整个文件都是通过HTTP请求提交的。

我过去曾使用过NeatUpload,它为您提供了一个进度条。它是LGPL许可证,因此您无需支付费用,而且它是开源的。

答案 2 :(得分:0)

没有更多关于简历问题的补充。 我使用(并继续使用)telerik radUpload,我对此非常满意 (它甚至可以用于中等信任模式,这对我来说非常重要)。我遇到的唯一问题(并且无法修复)是上传大于2GB的文件...

答案 3 :(得分:0)

SlickUpload非常可靠,很多大公司都使用the site所说的。

答案 4 :(得分:0)

对于您的项目来说,这可能为时已晚,但POW上传现在已在其新版本中实施了自动恢复上传。我们即将在我们的网站上实施它。

相关问题