我正在开发一个支持文件上传的网络应用程序。我已经熟悉在服务器端检查大小,但我想在客户端检查文件大小。
我知道这是一个浏览器限制,出于安全原因我们无法访问文件属性。所以我尝试了 swfupload 和 uploadify 组件。两者都很好,可以满足需求。
但限制是两者都取决于闪存,所以如果我的最终用户没有安装闪存,那么我就会遇到问题。要求他们安装 Flash 是另一回事,但它是一个门户网站,用户群很大。所以我不喜欢让他们安装 Flash 的想法。
今天我在 gmail 中发现了文件上传功能。并在没有安装 Flash 的情况下在浏览器 (IE) 中对此进行了测试。我的发现很有趣。如果你上传一个大文件,他们会进行回传并立即返回文件大小太大的消息。
这怎么可能,他们如何在不下载全部内容的情况下找到文件的大小。?我相信这必须通过读取 HTTP header 信息来完成。我说得对吗?
所以这正是我想要实现的功能。如果已经安装了闪存,我可以使用 uploadify 来检查大小,否则我可能会实现谷歌使用的从未听说过的技术。
有人可以推荐我怎么做吗?
有没有人遇到过类似的问题,你做了什么??
更新:
在FF中安装flash的Gmail上传
在 IE 中没有 flash
最佳答案
你可以看看 File API这是 HTML 5 的草稿。这是一个 nice article .这就是Gmail uses如果浏览器当然支持它。但无法确保这适用于所有浏览器。
关于c# - 上传时检查文件大小的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4204249/