如何在客户端判断上传文件的大小 asp.net默认只能上传小于4M的文件,我现在用jquery的文件上传组件上传文件到服务器,如何在客户端就能判断文件大小,这个问题我已经纠结了一阵子了,还是没搞定。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用基于flash的上传组件:jqUploader, uploadify它们都可以在上传前检查文件大小如果不是基于flash的,比如 jQuery Multiple File Upload Plugin 和jQuery Ajax file upload,只能在服务端做检查其它很多基于flash的组件都有在客户端检查的功能,比如FancyUpload, SwfUpload等等http://www.open-open.com/ajax/Upload.htm 楼上说的对。我用过uploadify,很好用,可以在浏览器端检查文件大小 客户端javascript应该检查不了。下面的文章使用ActiveX检查,大部分浏览器会要求权限。Using javascript check uploaded file size, which is uploaded by a file upload control 貌似这些都需要flash支持的,客户那里我不可能要求他们装flash插件什么的。 修改<httpRuntime maxRequestLength="51200" executionTimeout="3600" appRequestQueueLimit="10000"/>JQuery上传插件Uploadify 客户那里什么都不让动,IIS生产环境我们没权限。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><head><title></title><script type="text/javascript">function getFileSize(filePath) { alert(filePath); var fso = new ActiveXObject("Scripting.FileSystemObject"); alert(fso.GetFile(filePath).size); }</script></head><body> <input type="file" name="file2" size="30" onchange="getFileSize(this.value);"></body></html> 如果上传的文件确实需要大于4M的话,可以在web.config中<system.web>节点内 配置一下即可<!-- 配置上传压缩文件的大小(资料上传) --><httpRuntime maxRequestLength="51200" executionTimeout="600" /><!--实际大小可以根据自己的需要来随意设置 --> 不可能在客户端判断,毕竟 客户端检测不到上传文件的大小。 可用ajax写 在ajax页面 检查上传文件的大小,如果太大 返回一个错误提示 直接alter打出 即可! HttpPostedFile hpf = this.FileUpload1.PostedFile;string FileSize = Convert.ToString(Convert.ToInt32(hpf.ContentLength.ToString()) / 1024);// +"KB",获取上传的文件的大小 可能通过程序修改web.confg的配置 直接搜索关键字:你使用的jquery组件的名字检查文件大小 借助flash可以获得文件大小,参考楼上提出的SWFUpload 求个js做的图片滚动 Microsoft Visual Studio 2010选中代码时遇到问题,需要关闭,怎么解决啊 .net中的flash播放问题 如何点击linkbutton下载文件 关于超链接传参数加密的问题.请各位帮帮..... 请问文件路径得问题 vs.net中创建的web应用程序为什么一运行就自动保存? 程序员如何提高英语 一个新手asp.net的配置问题,新手提问欲哭无泪 我真的很喜欢asp.net,各位请帮帮忙进来看看 嵌套repeater动态添加数据后的显示问题,暂时不保存到数据库中,在线等啊 急~~关于站点占用内存及CPU问题
它们都可以在上传前检查文件大小如果不是基于flash的,比如 jQuery Multiple File Upload Plugin 和jQuery Ajax file upload,只能在服务端做检查其它很多基于flash的组件都有在客户端检查的功能,比如FancyUpload, SwfUpload等等
http://www.open-open.com/ajax/Upload.htm
JQuery上传插件Uploadify
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<title></title>
<script type="text/javascript">
function getFileSize(filePath)
{
alert(filePath);
var fso = new ActiveXObject("Scripting.FileSystemObject");
alert(fso.GetFile(filePath).size);
}
</script>
</head>
<body>
<input type="file" name="file2" size="30" onchange="getFileSize(this.value);">
</body>
</html>
<!-- 配置上传压缩文件的大小(资料上传) -->
<httpRuntime maxRequestLength="51200" executionTimeout="600" /><!--实际大小可以根据自己的需要来随意设置 -->
string FileSize = Convert.ToString(Convert.ToInt32(hpf.ContentLength.ToString()) / 1024);// +"KB",获取上传的文件的大小