如何计算上传文件的百分比?

时间:2012-03-09 09:55:47

标签: c# asp.net file-upload

我需要计算上传到服务器的文件的百分比。我读它就像

上传的百分比= 100 /文件大小*上传的字节。

有谁知道如何从文件上传控件的属性中获取以下内容:

  1. 上传的文件大小
  2. 上传的字节
  3. 请帮忙。谢谢

3 个答案:

答案 0 :(得分:4)

  

“有谁知道我们如何从属性中获得以下内容   文件上传控件“

如果您在评论中说过,您使用的是标准的.NET文件上传控件,那么只有在文件完全上传后才能获得服务器端的事件。

即:在浏览器完全上传文件之前,您的服务器端事件都不会触发。

要获得渐进式上传,您需要使用其他答案中链接的组件 - 或者编写您自己的HTTP模块。

示例项目(未经验证,如果正常工作)http://www.codeproject.com/Articles/14832/ASP-NET-file-post-direct-to-disk-with-upload-file

附注:进度%的计算如下:上传的字节数/总字节数

答案 1 :(得分:1)

最高版本4的HTML规范不允许您在没有页面发布的情况下上传文件,您需要依靠服务器代码来获取上传的数据量,但HTML5规范附带了XMLHttpRequest的新功能,称为XMLHttpRequest2。 XMLHttpRequest有一个上传属性,您可以在其中访问一些客户端事件以上传数据,如onprogress,onload等。 你可以在这里阅读它: http://www.html5rocks.com/en/tutorials/file/xhr2/

这是在所有主流浏览器中支持XMLHttpRequest 2的兼容性表: http://caniuse.com/xhr2

答案 2 :(得分:1)