2010-09-06 2 views
0

Я хочу получить как C#, так и VB.NET sugestion.Изучите загружаемый файл

У меня есть элемент управления ASP.NET FileUpload, который позволяет использовать только тип изображения. Я использовал RegularExpressionValidator, как показано ниже.

  <asp:FileUpload ID="fuPhoto" runat="server" TabIndex="40" /> 
     &nbsp;<asp:RegularExpressionValidator ID="RegularExpressionValidator3" 
       runat="server" ControlToValidate="fuPhoto" Display="Dynamic" 
       ErrorMessage="* You can only upload .jpg, .gif or .png image types." 
       ValidationExpression="^.*\.(jpg|JPG|jpeg|JPEG|gif|GIF|png|PNG)$">* You can only upload .jpg, .gif or .png image types.</asp:RegularExpressionValidator> 

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

Как просмотреть загружаемый файл?

+0

Какой метод вы используете, чтобы доказать содержание является правильный файл изображения? Заголовки файлов прекрасны, но стеганография основана на представлении действительного отображаемого файла. Похоже, вам нужно переопределить деловые потребности ... – jcolebrand

ответ

0

Я думаю, что регулярное выражение неверно, потому что оно мешает мне загружать jpg. В любом случае вы можете проверить тип содержимого на сервере, используя что-то вроде:

protected void Page_Load(object sender, EventArgs e) 
    { 
     foreach (string filename in Request.Files) 
      Response.Write("<p>" + Request.Files[filename].ContentType + "</p>"); 
    } 

Обратитесь к http://en.wikipedia.org/wiki/Internet_media_type для допустимых типов

+0

Вы правы, я исправил регулярное выражение. – Narazana