进度条MVC 4将上传的文件保存到数据库

时间:2014-05-06 11:12:37

标签: javascript jquery asp.net-mvc

我正在编写应用程序,我必须将CSV文件上传到blob -azure cloud-然后我向用户显示文件内容以获得一些配置,如列名称,类型和选择要插入数据库的列。

我的问题:我从云中获取文件作为流我希望在保存到数据库时使进度条工作,有关如何做到的任何想法?!

感谢参与。

我尝试使用会话变量和Ajax Jquery读取获取百分比,但它在调试时间不起作用。

2 个答案:

答案 0 :(得分:0)

为了显示上传的进度,我建议使用具有此功能的第三方库

以下是此类插件的一个示例:http://blueimp.github.io/jQuery-File-Upload/我之前使用过它并且效果很好。

关于这个:

  

我希望在保存到数据库时使进度条工作

我假设这是一个非常大的文件,可能会保存一个只有几千行的小文件,而用户不会注意到延迟(一旦上传),你可能不需要担心显示进度条,因为它几乎会立即完成。

如果不是这种情况,我可能会尝试按照上传的方式做一些事情,向客户端返回一个唯一的ID,用于他们上传的文件,然后这个id用于创建单独的AJAX查询,返回进展到最终用户。

这个想法将是

  1. 将文件发送到服务器并显示上传进度
  2. 将文件存储在数据库中
  3. 在上传请求中的文件中返回ID
  4. 当您通过文件存储读取数据库中文件的进程进度时
  5. 创建一个单独的界面,您可以在其中发布文件的ID并将结果返回给您。
  6. 查询此单独界面并显示结果。
  7. 完全处理文件后,将用户转发到包含使用Javascript
  8. 的结果的视图

答案 1 :(得分:0)

我使用SignalR更新ProgressBar并且工作正常,请查看此链接以获取更多信息。

http://www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/introduction-to-signalr