Dot-Net
如何在 ASP.NET AJAX 控制項工具包中的 AsyncFileUpload 的文件瀏覽菜單中限製文件類型
我想限制他們在文件上傳對話框中看到的內容,預設情況下該對話框設置為“所有文件”。我了解如何驗證他們只上傳了某種文件類型,這不是這裡的問題。我只想知道如何在文件選擇對話框中預設文件類型。
有什麼方法可以將其更改為“僅限 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如果錯誤消息無效,則返回並停止上傳/設置錯誤消息(可選)。