У меня есть простая веб-форма, которая отправляет и отправляет электронную почту через .NET C#. Кроме того, есть ctrl UPLOAD ASP, из которого я создаю поток памяти и присоединяю поток к Mail Message ... т.е. нет необходимости сохранять файл в файловой системе.Определение MIME Тип файла загрузки MAC-файла
ВОПРОС: Когда пользователи MAC не вставляют расширения в свои загруженные файлы (я тестирую для параметра «Фильтр публикации» для определения файла и/или соответствующего расширения, допустимых файлов RTF, TXT, PDF, DOC, DOCX), похоже, ContentType возвращается как «приложение/октет» ... это имеет смысл для меня без расширения, как того требует ПК; все еще неясный при чтении погоды ContentType или расширение - лучший способ определить, какой тип файла он есть до того, как я присоединюсь. [Непрерывный MAC-файл, очевидно, не сможет выполнить какой-либо тест расширения)
В принципе, я прочитал файл из загружаемого ctrl, определите, что его ContentType, разделите только имя_файла.Filename и затем соберите его, когда я создаю вложение, используя строку ContentType в инструкции switch для определения и добавления правильного расширения в прикрепленный файл (имя файла + ext). Я сделал это, чтобы гарантировать, что пользователи MAC, которые не используют расширения, все равно могут загрузить без создания ZIP или другого пакета.
Вопрос 1: Является ли моя логика звуком относительно приближения к этой проблеме, передовой практики? Вопрос 2. Будут ли все файлы MAC возвращаться как «приложение/octect», если вы не используете расширение на MAC, и если да, то каким образом кто-то может определить, какой тип файла он на самом деле? (Примечание: PDF работал отлично, когда не использовал расширения на платформе MAC).
Заранее спасибо. Если код образца необходим, пожалуйста, сообщите.
ContentType устанавливается клиентом, который загружает файл, и нет никакого гуанинта, что это правильный тип для загруженного файла. Также это расширение файла. Зачем вам нужно знать, какой тип файла? Вам нужно запустить определенный рабочий процесс в зависимости от типа? Или вы просто его сохранили? –
, если у вас есть какой-то способ узнать разницу .DOC по сравнению с .DOCX против .TXT, если они забудут расширение .. humm Я бы, вероятно, изменил логику, чтобы убедиться, что перед загрузкой файла добавлен фильтр код загрузки, если нет файла ext или в основном есть файл с допустимыми типами. В противном случае не разрешать загрузку ... и pdf, вероятно, работало нормально, потому что тип содержимого соответствовал типу файла acatual .. но сколько других случаев это будет работать или не работать. – MethodMan
Arkain: В принципе, моя цель - сохранить файл в электронном письме как вложение. Во-вторых, электронные письма и/или вложения, сгенерированные приложением, будут отправляться как пользователям ПК, так и пользователям платформы MAC.поэтому с учетом этого я попытался найти общий знаменатель (сеть безопасности), который для меня всегда прикреплял файл с использованием .EXT, который в случае пользователей MAC, которые не включают расширения, делает этот excersize трудным в лучшем случае, что ContentType действительно является «дерьмовой стрельбой» в этом контексте, или если я не сравниваю порядок байтов с некоторыми внешними библиотеками и т. д. – user699318