2012-01-23 72 views
8

我正在寫一個asp.net web應用程序,它涉及到使用FileUpload控件。Filter文件擴展名使用FileUpload

現在,這個特定的FileUpload控件只需要.zip或.gz文件類型。如果上傳的文件類型不正確,則會向用戶顯示錯誤消息。該功能已經實現。

我想要做的是過濾用戶看到的可見文件類型,當他點擊「瀏覽」時。

您可能已經看到類似於以下內容的文件打開對話框。
enter image description here

我圈出了表示文件擴展名過濾器的區域。

這是一個非常常見的功能,我期望它可以內置到當前的FileUpload控件中,但在線搜索後,我發現有些帖子說它無法完成。

這些帖子來自2009年,超過2年前。

現在,我的問題是:目前的Asp.Net 4.0是否支持這個功能?如果不支持,你是否知道任何簡單的解決方案來獲得我想要的功能。

我想再次指出,我能夠驗證用戶是否選擇支持的文件類型。我正在尋找的只是一個外觀變化,它會在打開的文件對話框中過濾掉不需要的文件類型。

+0

這可用於桌面應用程序,但不適用於Web應用程序! –

+0

所謂的「重複」的接受答案看起來像它確認,但不過濾。 –

+1

我同意重複的答案不是你正在尋找的。 – Jon

回答

5

我相信這是不可能的。瀏覽器中的文件類型的過濾器不是由asp.net控制的。它是一種瀏覽器功能。

已經問stackoverflow.Please這個問題單擊 filter the file type with the file upload control

+0

我看到了,但微軟已經發布了他們的.Net Framework 4.0幾個星期後,這個問題被問及,大多數答案發布後。 –

+0

下面的答案適用於瀏覽器的子集:https://stackoverflow.com/a/23589176/12601 – Greg

5

要選擇FileUpload控件圖像..

希望它會幫助你

asp:RegularExpressionValidator ID="rexp" runat="server" ControlToValidate="fupProduct" 
    ErrorMessage="Only .gif, .jpg, .png, .tiff and .jpeg" 
    ValidationExpression="(.*\.([Gg][Ii][Ff])|.*\.([Jj][Pp][Gg])|.*\.([Bb][Mm][Pp])|.*\.([pP][nN][gG])|.*\.([tT][iI][iI][fF])$)"></asp:RegularExpressionValidator 
12

你可以試試下面的代碼。

<asp:FileUpload ID="UploadFile" accept="image/*" multiple="false" runat="server" BorderStyle="None" /> 

它適用於現代瀏覽器。

不要忘記使用程序後面的代碼驗證擴展。