2012-08-08 90 views
3

我碰到这个问题就来了,而对于微软Web的应用程序开发者准备考试,限制上传文件,以便文件只小于1 MB,可以上传

要实现一个网页,允许用户上传文件到Web服务器。该页面包含一个具有提交按钮的 表单。 您想要限制上传,以便只能上传小于1 MB的文件。

给出的答案是:

添加ASP.NET FileUpload控件并将其配置为在服务器上运行。 服务器端onclick处理程序添加到表单的提交按钮,保存仅当文件大小 允许

文件,但不会这意味着该文件将已经被上传到服务器?我们只是选择是否保存它?它可以在客户端完成吗?

+1

你的意思是一这里建议http://stackoverflow.com/questions/1601455/check-file-input-size-with-jquery – V4Vendetta 2012-08-08 08:23:49

回答

2

在进行文件上传时,您可以检查许多事项。在服务器端,也有最大的请求大小,这实际上会停止上传。但是你是正确的,上传将在这些检查被捕获时已经执行。

现在,您可以在受支持的浏览器上使用HTML5 File API进行文件上传,包括在客户端检索它们的大小,甚至显示预览。在这里看到的例子:Client Checking file size using HTML5?

+0

感谢您的答案,:) – 2012-08-08 08:27:46

1

使用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文件API规范,你可以使用这个简单的代码片段来访问文件属性,如大小:

//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

相关问题