Ragi Gopi Ответов: 3

как мы можем проверить типы файлов перед их загрузкой в c#


всем привет

как мы можем проверить типы файлов перед их загрузкой, я использую c#.
я хочу загрузить файлы изображений. разрешены только файлы jpeg и png.

заранее спасибо

3 Ответов

Рейтинг:
22

Jigar Bagadai

Есть два способа проверить типы файлов с помощью C#.

1. Просто проверьте, что расширение файла в имени файла, если его Jpeg или png вы можете разрешить загружать, но это довольно сложно, потому что кто-то изменил расширение файла и загрузил вредоносный файл.

2. Во-вторых, вы должны проверить расширение файла и файл content.so любой пользователь изменит расширение файла, после чего он не сможет разрешить загрузку вредоносного файла.
вы можете найти этот путь по следующей ссылке.

и я хочу, чтобы вы выбрали второй путь, который является наиболее предпочтительным.

http://www.dotnetexpertguide.com/2011/05/validate-uploaded-image-content-in.html[^]


Рейтинг:
2

member60

относиться :
http://msdn.microsoft.com/en-us/library/system.windows.forms.filedialog.фильтр.aspx-файл[^]

надеюсь, это вам поможет.


Рейтинг:
2

GopalakrishnanPS

Приведенный ниже код отлично работает для проверки расширений файлов. вы можете проверить любой тип расширений файлов.

string fileName = FileUpload1.FileName;
string FileExtension = fileName.Substring(fileName.LastIndexOf('.') + 1).ToLower();
if (FileExtension == "jpeg" || FileExtension == "png")
{

    FileUpload1.SaveAs(Server.MapPath(fileName));

}



надеюсь, это вам поможет.


CHill60

На вопрос ответили 2 года назад. Ничего не добавляет к предыдущим решениям и не обслуживает файлы с точкой в имени (например, file.2013.jpg является допустимым именем). Лучше использовать класс FileInfo для получения расширения-см. http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx[^]