【问题标题】:Restrict file uploads so that only files smaller than 1 MB can be uploaded限制文件上传,只允许上传小于 1 MB 的文件
【发布时间】:2013-07-31 21:10:07
【问题描述】:
我在准备 Microsoft Web-Application Developer 考试时遇到了这个问题,
您正在实现一个允许用户将文件上传到 Web 服务器的网页。该页面包括一个
具有提交按钮的表单。
您想限制上传,以便只能上传小于 1 MB 的文件。
给出的答案是:
添加一个 ASP.NET FileUpload 控件并将其配置为在服务器上运行。
将服务器端 OnClick 处理程序添加到表单的提交按钮以仅在文件大小为
允许
但这不是意味着文件已经上传到服务器了吗?我们只是选择是否保存它?可以在客户端完成吗?
【问题讨论】:
标签:
c#
asp.net
asp.net-4.0
【解决方案2】:
使用 IE:
<html>
<head>
<script>
function getSize()
{
var myFSO = new ActiveXObject("Scripting.FileSystemObject");
var filepath = document.upload.file.value;
var thefile = myFSO.getFile(filepath);
var size = thefile.size;
alert(size + " bytes");
}
</script>
</head>
<body>
<form name="upload">
<input type="file" name="file">
<input type="button" value="Size?" onClick="getSize();">
</form>
</body>
</html>
使用 Chrome 或 Firefox:
随着 jQuery 和 HTML5 File API 规范的实现,您可以使用这个简单的 sn-p 来访问文件属性,例如大小:
//binds to onchange event of your input field
$('#myFile').bind('change', function() {
alert(this.files[0].size);
});
来源:关于该主题的优秀文章:http://www.kavoir.com/2009/01/check-for-file-size-with-javascript-before-uploading.html