COntent-type для file-поля
не совсем JavaScript, но все же спрошу...
На странице есть форма multipart с файловым полем. В него загружаю csv -файл и отправляю на сервак. Браузер подставляет вместо content-type: text/csv для него всякую хрень (в частности с моей машины application/vnd.ms-excel, а с другой, где не стоит офисный пакет, application/octet-stream). Из-за этого файл не принимается на сервере... Вот уж не подумал бы, что не справлюсь с созданием csv-файла... Подскажите, можно ли как-то заставить браузер правильно определять content-type файла? |
Цитата:
|
стоит проверка if ($file->getType() != 'text/csv') {...}
Оно и на равно... браузер как хочет, так и интерпретирует этот файл. Но почему-то все браузеры на моей машине (IE, FF, Opera, Chrome) воспринимают этот файл одинаково... |
Цитата:
|
Решение найдено!
Пока это проверено на Windows Вероятно, браузер, при отправке multipart-формы определяет расширение файла и запрашивает у ОС ассоциированный с этим расширением тип данных. Сервер не участвует или не всегда участвует в определении типа содержимого файла. А этот тип прописан в реестре в HKEY_CLASSES_ROOT. После его изменения все пошло на УРА! |
Автор забыл что
Цитата:
Кладите на мим-тип и все. Чсв это ж обычный текст. Как получить расширение (тип) файла на сервере знаете? Ну и вот. |
Знать-то знаю, а вот доступа непосредственно на сервер, чтобы там закоментить данную проверку, не было... вот и пришлось извращаться с реестром))))
|
Цитата:
|
Часовой пояс GMT +3, время: 13:38. |