[英]How can I restrict the file type in the file browse menu of an AsyncFileUpload in the ASP.NET AJAX Control Toolkit
我想限制他们在文件上传对话框中看到的内容,该对话框默认情况下设置为“所有文件”。 我知道如何验证他们仅上传了某种文件类型,这不是这里的问题。 我只想知道如何在文件选择对话框中默认文件类型。
有什么办法可以将其更改为“仅限PNG”或“ * .png”?
这是使用ASP.NET AJAX控件工具包中的AsyncFileUpload。
这个正在为我工作(感谢DavRob的启发)。
<cc1:AsyncFileUpload ID="FileUpload" runat="server"
OnClientUploadStarted="AssemblyFileUpload_Started" />
<script>
function AssemblyFileUpload_Started(sender, args) {
var filename = args.get_fileName();
var ext = filename.substring(filename.lastIndexOf(".") + 1);
if (ext != 'png') {
throw {
name: "Invalid File Type",
level: "Error",
message: "Invalid File Type (Only .png)",
htmlMessage: "Invalid File Type (Only .png)"
}
return false;
}
return true;
}
</script>
您可以使用控件上的OnClientUploadStart
属性来触发JavaScript函数进行验证,如下所示:
<cc1:AsyncFileUpload ID="FileUpload" runat="server"
OnClientUploadStarted="checkExtension" />
然后在您的页面中包含此脚本或包含以下脚本:
function checkExtension(sender, args) {
var ext = args.get_fileName().substring(filename.lastIndexOf(".") + 1);
if (ext != 'png') {
args.set_cancel(true); //cancel upload
args.set_errorMessage("File type must be .png"); //set error message
return false;
}
return true;
}
在这种情况下,我们只是使用客户端API的各个位来获取/检查扩展名,返回false
并停止上传/设置错误消息(可选)(如果无效)。
当前版本的ajax控件工具包没有此选项。
但是,新功能是您可以获取源代码并添加属性来处理此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.