使用Javascript事件捕获上载的文件大小并取消
我有一个文件加载器。我不想检查服务器端的文件大小,我需要某种类型的侦听器来获取每个时段上载的文件大小,并检查是否允许使用Javascript,我使用的是asp.net文件上载程序。AFAIK上载时没有Javascript事件来检查客户端的文件大小。。。由于您不想检查这个服务器端,所以答案取决于浏览器,因为它需要一个能够满足您需要的客户端javascript API 你可以使用HTML5+Javascript(文件API)来实现这个。。。但要注意:有些浏览器版本并不支持这一点。。。请参阅详细信息和示例:使用Javascript事件捕获上载的文件大小并取消,javascript,jquery,asp.net,dom-events,Javascript,Jquery,Asp.net,Dom Events,我有一个文件加载器。我不想检查服务器端的文件大小,我需要某种类型的侦听器来获取每个时段上载的文件大小,并检查是否允许使用Javascript,我使用的是asp.net文件上载程序。AFAIK上载时没有Javascript事件来检查客户端的文件大小。。。由于您不想检查这个服务器端,所以答案取决于浏览器,因为它需要一个能够满足您需要的客户端javascript API 你可以使用HTML5+Javascript(文件API)来实现这个。。。但要注意:有些浏览器版本并不支持这一点。。。请参阅详细信息和
- 我认为您无法从javascript获取文件大小的详细信息,您可以做什么,您可以在脚本块的帮助下从服务器端访问它。像这样
protected void btnFileUpload1_Click(object sender, EventArgs e)
{
int filesize;
filesize = FileUpload1.PostedFile.ContentLength; //to get the Size of uploaded files
if(filesize > yourMaxLength)
{
string errorScript = "<script type=\"text/javascript\">" +
"alert('Invalid File, you cannot upload file exceeding ' + filesize );" +
"</script>";
ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", errorScript);
}
else
{
//proceeed with upolad successful operation
}
}
protectedvoid btnFileUpload1\u单击(对象发送方,事件参数e)
{
int文件大小;
filesize=FileUpload1.PostedFile.ContentLength;//获取上传文件的大小
如果(文件大小>最大长度)
{
字符串errorScript=“”+
警报('无效文件,您无法上载超过'+文件大小]的文件;'+
"";
RegisterClientScriptBlock(this.GetType(),“alert”,errorScript);
}
其他的
{
//upolad操作成功
}
}
是jQuery上传文件的一个不错的插件,它有一个相当不错的事件回调集合,关于正在上载的文件和上载进度的完整信息。我想将其与asp.net一起使用,我需要的只是事件,我需要知道如何使用asp.net或javascript@EslamSolimanAFAIK上传时没有javascript事件检查文件大小。。。您所要求的是浏览器依赖性,因为它需要一个能够满足您需要的javascript API——这正是上面的链接所提供的!它使用flash,因为它在从服务器端上传之前知道大小