[英]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.