2012-01-23 17 views
8

Piszę aplikację internetową asp.net, która wymaga użycia kontrolki FileUpload.Filtr Rozszerzenie pliku Za pomocą FileUpload

W tej chwili ta konkretna kontrolka FileUpload oczekuje tylko plików w formacie .zip lub .gz. Jeśli zostanie przesłany nieprawidłowy typ pliku, zostanie wyświetlony komunikat o błędzie. Ta funkcja jest już zaimplementowana.

Co chcę zrobić, to filtrować widoczne typy plików, które widzi użytkownik po kliknięciu "przeglądaj".

Być może widzieliśmy okno dialogowe otwierania pliku przypominające poniższe.
enter image description here

Określiłem obszar reprezentujący filtr rozszerzenia pliku.

Jest to funkcja tak powszechna, że ​​spodziewałem się, że zostanie ona wbudowana w bieżącą kontrolkę FileUpload, ale po kilku poszukiwaniach w Internecie znalazłem kilka wpisów, które mówią, że nie można tego zrobić.

Te posty pochodziły z 2009 roku, ponad 2 lata temu.

Moje pytanie brzmi: czy obecny Asp.Net 4.0 obsługuje tę funkcję ?, a jeśli nie, znasz jakieś proste rozwiązanie, aby uzyskać pożądaną funkcjonalność.

Chciałbym jeszcze raz podkreślić, że jestem w stanie sprawdzić, czy użytkownik wybiera obsługiwany typ pliku. Wszystko, czego szukam, to kosmetyczna zmiana, która odfiltruje niepotrzebne typy plików w otwartym oknie dialogowym pliku.

+0

to jest dostępne dla aplikacji desktopowych, ale nie dla aplikacji internetowych! –

+0

Przyjęta odpowiedź na tak zwany "duplikat" wygląda tak, jakby sprawdzała, ale nie filtrowała. –

+1

Zgadzam się z odpowiedzią na duplikat nie będący tym, czego szukasz. – Jon

Odpowiedz

5

Uważam, że nie jest to możliwe. Filtruj według typu pliku w przeglądarce nie jest kontrolowany przez asp.net. Jest to funkcjonalność przeglądarki.

To pytanie już zadane w stackoverflow.Please kliknij filter the file type with the file upload control

+0

Widziałem to, ale Microsoft wydał ich .Net Framework 4.0 Kilka tygodni po zadaniu tego pytania, a po większości odpowiedzi zostały opublikowane. –

+0

Ta odpowiedź poniżej dotyczy podzbioru przeglądarek: https://stackoverflow.com/a/23589176/12601 – Greg

0

można utworzyć sprawdzania poprawności rozszerzenie pliku z ASP.NET FileUpload sterowania

wierzę można przejść do tego rozwiązania

Validate File Extension for ASP.NET FileUpload Control

+0

W dwóch miejscach mojego pytania wspomniałem, że już jestem w stanie dokonać tego typu weryfikacji. To nie jest funkcja, o którą pytam. –

5

Aby wybrać obrazy w kontroli FileUpload ..

nadzieję, że to pomoże Ci

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

Wypróbuj poniższy kod.

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

Działa z nowoczesnymi przeglądarkami.

Nie zapomnij sprawdzić poprawności rozszerzeń za pomocą kodu znajdującego się za procedurami.

Powiązane problemy