2010-05-06 68 views
22

是否可以允許fileupload控件僅顯示圖像?如何在FileUpload控件中限制文件類型

當我們點擊瀏覽按鈕時,它應該只顯示圖像。

+0

你表示什麼意思?你的意思是上傳? – 2010-05-06 10:06:33

+0

@Amgdy - 「show」=只有在點擊「瀏覽」按鈕時彈出的實際文件對話框瀏覽器中才顯示某種類型的文件。 – Jagd 2012-01-23 17:35:22

回答

7

不,在網上你不能從客戶端,顯然從服務器端你可以做出驚人的事情。 對於這種事情,程序員通常使用Activex,flash或類似的東西。

1

帶滑動<input type="file">,恐怕也不可能在客戶端。

但是,某些第三方上傳器(例如SWFUpload)提供了此功能。

21

我發現這個問題沒有直接的解決方案。

這是使用的RegularExpressionValidator我的解決方法:

<asp:FileUpload ID="fuImportImage" runat="server" /> 
<asp:RegularExpressionValidator ID="regexValidator" runat="server" 
    ControlToValidate="fuImportImage" 
    ErrorMessage="Only JPEG images are allowed" 
    ValidationExpression="(.*\.([Jj][Pp][Gg])|.*\.([Jj][Pp][Ee][Gg])$)"> 
</asp:RegularExpressionValidator> 
10

您不能嚴格限制文件類型,但如果瀏覽器支持它,你可能會導致它最初只顯示一個特定類型的文件:

<form method="post" action="blahblah.blah"> 
    <input type="file" name="image" id="image" accept="image/png, image/jpeg" /> 
</form> 
3
//VALIDATE FILE EXTENTION 
var _validFileFlag; 
function fValidFileExt(vfilePath){ 
    var vFileName=vfilePath.split('\\').pop(); 
    var vFileExt=vfileName.split('.').pop(); 
    if(vFileExt.toUpperCase()=="JPEG" || vFileExt.toUpperCase()=="JPG"){ 
    _validFileFlag = true; 
    } 
    _validFileFlag = false; 
} 

<asp:FileUpload ID="FileUpload1" onchange="fValidFileExt(this.value);" runat="server" /> 

檢查 '_validFileFlag' 保存數據/上傳..

33

在2015年,化網頁瀏覽器支持輸入接受屬性,所以你可以這樣做:

<asp:FileUpload ID="fileUploader" runat="server" accept=".png,.jpg,.jpeg,.gif" /> 
+5

這應該是被接受的答案。 – mbomb007 2016-07-28 16:37:55

+5

這仍然允許用戶上傳不使用其中一個擴展名的文件 – jtate 2016-11-29 16:57:41

+0

@jtate該問題僅限於* show * only圖像。您應該始終驗證服務器端的上傳(以及任何用戶輸入),以吸引有人嘗試上傳不需要的內容。用戶可以簡單地將不需要的文件的擴展名重命名爲接受列表中的某個文件。因此,您應該在文件上傳中接受接受列表,作爲對用戶的簡單幫助,並且至少在後端進行驗證。 – 2016-12-05 07:37:16

1

使用接受屬性,只顯示在文件瀏覽器相似圖片如下 -

<asp:FileUpload ID="FileUploadFileType" runat="server" CssClass="form-control" accept=".png,.jpg,.jpeg,.gif" /> 

與ASP .nets RegularExpressionValidator用驗證消息來驗證選定的文件類型。

<asp:RegularExpressionValidator ID="RegExValFileUploadFileType" runat="server" 
         ControlToValidate="FileUploadFileType" 
         ErrorMessage="Only .jpg,.png,.jpeg,.gif Files are allowed" Font-Bold="True" 
         Font-Size="Medium" 
         ValidationExpression="(.*?)\.(jpg|jpeg|png|gif|JPG|JPEG|PNG|GIF)$"></asp:RegularExpressionValidator> 
相關問題