【发布时间】:2012-01-30 08:12:00
【问题描述】:
我有一个文件上传器。我不想在服务器端检查文件的大小,我需要某种侦听器来获取每个时段上传的大小并检查是否允许使用 Javascript,并且我正在使用 asp.net 文件上传器。
【问题讨论】:
标签: javascript jquery asp.net dom-events
我有一个文件上传器。我不想在服务器端检查文件的大小,我需要某种侦听器来获取每个时段上传的大小并检查是否允许使用 Javascript,并且我正在使用 asp.net 文件上传器。
【问题讨论】:
标签: javascript jquery asp.net dom-events
AFAIK 上传时没有 javascript 事件来检查客户端的文件大小...并且由于您不想检查此服务器端,因此答案取决于浏览器,因为它需要客户端-侧 javascript API 能够满足您的需求。
您可以为此使用 HTML5+Javascript(文件 API)...但请注意:有些 borwsers/浏览器版本不支持此功能...查看详细信息和示例:
【讨论】:
我认为您无法从 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
}
}
【讨论】:
Uploadify 是一个很好的 jQuery 上传文件插件,它有一个非常好的事件回调集合,包含关于正在上传的文件和上传进度的完整信息。
【讨论】: