2013-05-23 2 views
1

Я хочу загрузить файл изображения, а затем извлечь его основную информацию (автор, размеры, дату, изменение и т. Д.) И отобразить ее пользователю. Как мне это сделать.Чтение метаданных файла изображения

Решение или ссылка на эту проблему в коде asp.net C# было бы полезно. Но javascript или php тоже будут в порядке.

+0

Я думаю GD и расширения Imagick в PHP могут читать данные EXIF. То же самое для других языков. –

+3

http://php.net/manual/en/function.exif-read-data.php – Burimi

ответ

1

Проверьте это Link. Вы получите больше сведений о GetDetailsOf() и его свойствах файлов на основе версии Win-OS.

Если вы хотите использовать использовать # код C ниже код, чтобы получить Metadata'S:

List<string> arrHeaders = new List<string>(); 

Shell shell = new ShellClass(); 
Folder rFolder = shell.NameSpace(_rootPath); 
FolderItem rFiles = rFolder.ParseName(filename); 

for (int i = 0; i < short.MaxValue; i++) 
{ 
     string value = rFolder.GetDetailsOf(rFiles, i).Trim(); 
     arrHeaders.Add(value); 
} 
0
Bitmap image = new Bitmap(fileName); 
PropertyItem[] propItems = image.PropertyItems; 

foreach (PropertyItem item in propItems) 
{ 
    Console.WriteLine("iD: 0x" + item.Id.ToString("x")); 
} 

MSDN Reference

C# Tutorial Reference

0

C# решение может быть найдено здесь: Link1 Link2

+1

[Ссылки на внешние ресурсы приветствуются, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши друзья-пользователи имели представление о том, что это такое и почему он там. Всегда указывайте наиболее значимую часть важной ссылки, если целевой сайт недоступен или постоянно находится в автономном режиме.] (Http://stackoverflow.com/help/how-to-answer) – JumpingJezza

-1

попробовать это ...

private string doUpload() 
    { 
     // Initialize variables 
     string sSavePath; 

     sSavePath = "images/"; 

     // Check file size (mustn’t be 0) 
     HttpPostedFile myFile = FileUpload1.PostedFile; 
     int nFileLen = myFile.ContentLength; 
     if (nFileLen == 0) 
     { 
      //************** 
      //lblOutput.Text = "No file was uploaded."; 
      return null; 
     } 

     // Check file extension (must be JPG) 
     if (System.IO.Path.GetExtension(myFile.FileName).ToLower() != ".jpg") 
     { 
      //************** 
      //lblOutput.Text = "The file must have an extension of JPG"; 
      return null; 
     } 

     // Read file into a data stream 
     byte[] myData = new Byte[nFileLen]; 
     myFile.InputStream.Read(myData, 0, nFileLen); 

     // Make sure a duplicate file doesn’t exist. If it does, keep on appending an 
     // incremental numeric until it is unique 
     string sFilename = System.IO.Path.GetFileName(myFile.FileName); 
     int file_append = 0; 
     while (System.IO.File.Exists(Server.MapPath(sSavePath + sFilename))) 
     { 
      file_append++; 
      sFilename = System.IO.Path.GetFileNameWithoutExtension(myFile.FileName) 
          + file_append.ToString() + ".jpg"; 
     } 

     // Save the stream to disk 
     System.IO.FileStream newFile 
       = new System.IO.FileStream(Server.MapPath(sSavePath + sFilename), 
              System.IO.FileMode.Create); 
     newFile.Write(myData, 0, myData.Length); 
     newFile.Close(); 

     return sFilename; 
    } 
Смежные вопросы