У меня есть приложение asp.net, где пользователи могут загружать файлы в нашу базу данных.Получение неправильного расширения файла и типа содержимого при загрузке файла
Иногда, когда они загружают файлы, content-type
устанавливается как "application/octet-stream"
, который является двоичным файлом.
Когда я спрашиваю пользователя, они говорят, что они загрузили, что говорят, что это файл .tif
. Как-то элемент управления загрузкой устанавливает его как "application/octet-stream"
.
Когда я загружаю тот же файл .tif
с моего компьютера, он загружает его с правильным типом контента (application/octet-stream
).
Я использую следующий код, чтобы получить расширение файла
fileExtension = filUpload.PostedFile.FileName.Substring(filUpload.PostedFile.FileName.LastIndexOf(".") + 1)
иногда возвращает расширение файла как "c:\documen"
или "j:\testing"
и т.д. Я знаю, что окна не позволяет специальных символов в имени файла.
первую очередь, не изобретать велосипед, используйте System.IO.Path.GetExtension, чтобы получить расширение – BlackTigerX
вторых, вы упоминаете «приложения/октет-поток», как и другое, правильное и неправильное значение – BlackTigerX