Коллекция context.Request.Files пуста только на удаленном сервере - PullRequest
5 голосов
/ 28 марта 2011

Я использую пользовательский обработчик ashx для обработки загрузки файла. При локальном запуске файл загружается нормально. Когда я использую ту же настройку на веб-сервере, я получаю ошибку "Index out of range". В firebug я вижу двоичное содержимое файла в данных поста, а имя файла также передается в строке запроса. Кто-нибудь видел это раньше? Я уверен, что это что-то незначительное, но это заставляет меня взбираться на стену.

Обновление: Достигнут некоторый прогресс. Я узнал, что я получаю две разные ошибки. Один из FF / Chrome и один из IE. Сейчас я сосредоточен на FF только потому, что firebug облегчает отладку. Теперь я получаю сообщение об ошибке "Не удалось найти часть пути 'C: \ inetpub \ wwwroot \'"

Обновление 2: Это работает в FF / Chrome. Оказывается, IE и FF / Chrome публикуют данные по-разному.

Обновление 3: Вот вывод сетевого профилировщика в IE dev tool:

Request header:
Key Value
Request POST /Secured/UploadHandler.ashx? HTTP/1.1
Accept  text/html, application/xhtml+xml, */*
Referer http://cms.webstreet.co.il/Secured/fileUpload.aspx
Accept-Language he-IL
User-Agent  Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Content-Type    multipart/form-data; boundary=---------------------------7db13b13d1b12
Accept-Encoding gzip, deflate
Host    cms.webstreet.co.il
Content-Length  262854
Connection  Keep-Alive
Cache-Control   no-cache

Request body:
-----------------------------7db13b13d1b12
Content-Disposition: form-data; name="qqfile"; filename="P-Art_Page_Digital.jpg"
Content-Type: image/jpeg

<Binary File Data Not Shown>
---------------------------7db13b13d1b12--

Ответы [ 3 ]

2 голосов
/ 04 апреля 2011

См. Большой список комментариев и ответов, прикрепленных к исходному вопросу. Не уверен, почему это работает сейчас, но Элад, похоже, решил свою проблему.

2 голосов
/ 05 мая 2011

Вы должны указать имя тега.

<input id="File1" name="file1" type="file" />
0 голосов
/ 04 апреля 2011

Я почти уверен, что загрузка файлов НЕ МОЖЕТ осуществляться через Ajax; вам нужно использовать обычную форму сообщения.

Также убедитесь, что в теге формы правильно установлен атрибут enctype.

...