ASP.NET在后台上传文件(BITS / AJAX?)

时间:2010-08-24 09:54:30

标签: asp.net ajax file-upload microsoft-bits bits-service

我有一个网页,用户可以在其中创建数据库记录并选择要上传到数据库服务器的文件。这些文件可能很大,比如100mb。

我不希望用户等待,所以我希望文件在后台上传。这样他们就可以在上传文件时继续做其他事情。

BITS是否可以实现这一目标?或者仅适用于Fatclient开发?任何好的材料 ?

如果BITS不是要走的路,我有什么选择? ajax调用带有文件位置的服务?

3 个答案:

答案 0 :(得分:1)

如果您通过说“他们可以继续做其他事情”,意味着他们可以在同一个网页上执行其他Ajax请求(即不能远离它),您可以使用任何基于Flash的上传器完成此操作(SWFUploadmany之一)。除了一些JavaScript,<input type="file">和嵌入式Flash上​​传器之外,这不需要任何其他内容。

如果您希望用户能够离开启动上传的页面,那么您无法在浏览器中真正做到这一点,至少在所有浏览器中完全实现WebSockets之前。即使这样,它也会很难。

答案 1 :(得分:0)

我认为BITS不会为你做这个伎俩。我从来没有使用它,但它似乎不能通过Web应用程序访问 - 它似乎更适合Windows客户端应用程序或Windows服务。

您可能需要考虑Andrew Valums AJAX上传控件(http://valums.com/ajax-upload/)或Uploadify(http://www.uploadify.com/)。这些都是jQuery AJAX控件(而uploadify需要Flash)。我使用jQuery进行Web应用程序开发,所以我偏爱这些控件。我已经将Valums的上传控件用于了几个项目,并且效果非常好。由于Flash的要求,我没有在实际的生产应用程序中使用uploadify(但它看起来非常好)。我确信其他JavaScript框架还有其他AJAX上传工具。

我希望这有帮助!

答案 2 :(得分:0)

我知道这篇文章有点陈旧,但我遇到了同样的问题。我的工作是使用一个小的弹出窗口,它只包含文件上传控件和参数,以确定文档的存储位置。用户可以从小弹出窗口上传文件,在上传时,继续在原始浏览器窗口上随意浏览,因为它们实际上永远不会离开。只是想到同一条船上的其他人。