проблема с Google Chrome и файл ввода - PullRequest
1 голос
/ 15 декабря 2009

У нас есть веб-сайт, где пользователь может загрузить свое резюме. Если они загружают его в любом браузере, он работает нормально. Если они НЕ загружают документ, он отлично работает во всех браузерах, кроме Google Chrome. У нас есть серверная vb dll, которая захватывает содержимое формы, и все загруженные файлы сохраняются в объекте словаря, который затем запрашивает страница обработки. В chrome наша dll сообщает, что туда загружается один файл, когда вы ничего не загружаете. Опять же, другие браузеры не делают этого, поэтому я не уверен, что происходит. Кто-нибудь видел такое поведение, и если да, есть ли какое-то исправление? Спасибо.

Ответы [ 2 ]

1 голос
/ 09 февраля 2010

У меня была такая же проблема в моем проекте ASP, где заголовок HTTP обрабатывается функцией VB, такой как this . Я написал эту простую форму и проанализировал HTTP-заголовок, отправленный на веб-сервер:

<form method="post" enctype="multipart/form-data" action="">
    <p><input type="file" name="file1" id="file1" /></p>
    <p><input type="submit" name="send" id="send" value="Send" /></p>
</form>

Если входной файл пуст и пользователь нажимает «Отправить», все браузеры (кроме Chrome) отправляют этот заголовок HTTP:

-----------------------------11538186919912
Content-Disposition: form-data; name="file1"; filename=""
Content-Type: application/octet-stream


-----------------------------11538186919912
Content-Disposition: form-data; name="send"

Send
-----------------------------11538186919912--

Вместо этого Google Chrome отправляет этот заголовок HTTP:

------WebKitFormBoundaryD4c5HZchlBudkIaQ
Content-Disposition: form-data; name="file1"; filename=""


------WebKitFormBoundaryD4c5HZchlBudkIaQ
Content-Disposition: form-data; name="send"

Send
------WebKitFormBoundaryD4c5HZchlBudkIaQ--

Google Chrome, если входной файл пуст, не отправляет поле «Тип контента». Это единственная разница. Возможно, как и в моем проекте, эта разница может вызвать ошибки в вашей DLL.

Я надеюсь, что помог вам, извините за мой плохой английский!

0 голосов
/ 06 декабря 2010

Chrome (до 8.0.552.215) имеет проблемы с типами содержимого файлов. Для меня это было, если файл не имел расширения.

См .: http://code.google.com/p/chromium/issues/detail?id=6800

Примечание: я использую стойки 2.0.14 с FileUploadInterceptor (использует ServletFileUpload и JakataMultipartRequest)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...