Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.02.2014, 15:58
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

COntent-type для file-поля
не совсем JavaScript, но все же спрошу...
На странице есть форма multipart с файловым полем. В него загружаю csv -файл и отправляю на сервак. Браузер подставляет вместо content-type: text/csv для него всякую хрень (в частности с моей машины application/vnd.ms-excel, а с другой, где не стоит офисный пакет, application/octet-stream). Из-за этого файл не принимается на сервере...
Вот уж не подумал бы, что не справлюсь с созданием csv-файла... Подскажите, можно ли как-то заставить браузер правильно определять content-type файла?
Ответить с цитированием
  #2 (permalink)  
Старый 07.02.2014, 16:04
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от demoniqus
Из-за этого файл не принимается на сервере...
как одно с другим связано?
Ответить с цитированием
  #3 (permalink)  
Старый 07.02.2014, 16:12
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

стоит проверка if ($file->getType() != 'text/csv') {...}
Оно и на равно... браузер как хочет, так и интерпретирует этот файл. Но почему-то все браузеры на моей машине (IE, FF, Opera, Chrome) воспринимают этот файл одинаково...
Ответить с цитированием
  #4 (permalink)  
Старый 07.02.2014, 16:19
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от demoniqus
стоит проверка if ($file->getType() != 'text/csv') {...}
делай проверку по расширению ".csv" в имени файла (кстати, это можно и в браузере сделать).
Ответить с цитированием
  #5 (permalink)  
Старый 07.02.2014, 16:26
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

Решение найдено!
Пока это проверено на Windows
Вероятно, браузер, при отправке multipart-формы определяет расширение файла и запрашивает у ОС ассоциированный с этим расширением тип данных. Сервер не участвует или не всегда участвует в определении типа содержимого файла. А этот тип прописан в реестре в HKEY_CLASSES_ROOT. После его изменения все пошло на УРА!
Ответить с цитированием
  #6 (permalink)  
Старый 07.02.2014, 20:19
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Автор забыл что

Сообщение от demoniqus
Из-за этого файл не принимается на сервере...
и начал править реестр своей винды. И всем остальным юзерам исправит.

Кладите на мим-тип и все. Чсв это ж обычный текст. Как получить расширение (тип) файла на сервере знаете? Ну и вот.
Ответить с цитированием
  #7 (permalink)  
Старый 10.02.2014, 15:45
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

Знать-то знаю, а вот доступа непосредственно на сервер, чтобы там закоментить данную проверку, не было... вот и пришлось извращаться с реестром))))
Ответить с цитированием
  #8 (permalink)  
Старый 10.02.2014, 16:03
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от demoniqus
вот и пришлось извращаться с реестром
Ну дык если чисто для себя, чтоб какой-то корявый сервис побороть - то почему бы и нет. И не извращение а исправление косяков обнаглевшего мелкосовтового офиса.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
загрузка джаваскрипта file by file с номером ревизии(последней) в урле для файла sergdev Ваши сайты и скрипты 7 13.04.2010 10:52
динамические списки Shaci jQuery 0 14.12.2009 15:03
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31