Как ограничить файлы типом изображения с помощью загрузки файла в asp.net - PullRequest
3 голосов
/ 06 июля 2010

Я использую загрузку файлов, я хотел ограничить отображение файлов в диалоговом окне только изображениями. То есть «Файлы типа» в диалоговом окне должны быть .jpg, .jpeg, .gif, .bmp, .png

Ответы [ 5 ]

2 голосов
/ 07 июля 2010

Вы не можете. Веб-браузеры не позволяют выполнять такие действия, как фильтрация списка по типу файла или установка каталога по умолчанию для диалогового окна загрузки файла.

Как предположили Дарин и Крис, как только пользователь выбрал файл, вы можете использовать javascript для анализа имени файла и предупреждения пользователя, если он не выглядит, как будто файл имеет правильный тип. В зависимости от того, что вы собираетесь делать с файлом, вам следует подумать о том, чтобы сделать что-то на стороне сервера, чтобы убедиться, что файл является допустимым образом и не что-то плохое. .

В качестве альтернативы, вы можете изучить использование OpenFileDialog Silverlight или даже элемента управления Flash. См. http://www.plupload.com, http://www.uploadify.com/, http://swfupload.org/ и т. Д ...

0 голосов
/ 14 августа 2013

Я знаю, что это очень старый, но с Fileuploads в ASP.Если я хочу привязать контент к определенному типу, такому как изображение или видео, я просто делаю содержимое для типа контента.

if (FileUpload1.HasFile) {

    if (FileUpload1.PostedFile.ContentType.Contains("image/")) {
//rest of your logic
    }

}
0 голосов
/ 11 августа 2010

эта функция используется для проверки, является ли файл, который пользователь хочет загрузить, действительным типом файла.

private bool IsValidFile(string filePath)
    {
        bool isValid = false;

        string[] fileExtensions = { ".BMP", ".JPG", ".PNG", ".GIF", ".JPEG" };

        for (int i = 0; i < fileExtensions.Length; i++)
        {
            if (filePath.ToUpper().Contains(fileExtensions[i]))
            {
                isValid = true; break;
            }
        }
        return isValid;
    }

Эта функция используется для проверки типа файла и размера файла.Если файл неверен, он вернет сообщение об ошибке.

private string ValidateImage(HttpPostedFile myFile)
   {
       string msg = null;
       int FileMaxSize = Convert.ToInt32(ConfigurationManager.AppSettings["FileUploadSizeLimit"].ToString());
       //Check Length of File is Valid or Not.
       if (myFile.ContentLength > FileMaxSize)
       {
           msg = msg + "File Size is Too Large.";
       }
       //Check File Type is Valid or Not.
       if (!IsValidFile(myFile.FileName))
       {
           msg = msg + "Invalid File Type.";
       }
       return msg;
   }
0 голосов
/ 06 июля 2010

Вы можете сделать это двумя способами: один на клиенте для простоты использования, а затем один раз на сервере для защиты от пользователей, отключающих проверку на стороне клиента. Оба подхода описаны здесь .

0 голосов
/ 06 июля 2010

Вы можете использовать валидатор регулярных выражений .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...