POST XLSX файл на сайт IIS, используя DropZone

Я пытаюсь использовать DropZone (www.dropzonejs.com/), чтобы опубликовать файл xlsx для чтения на стороне клиента. Это работает в моей тестовой среде с использованием сервера ember. Однако, как только я перенес его в IIS8, я получаю ошибку 405 Method Not Allowed. DropZone делает POST-запрос с файлом. Я попытался добавить глагол POST в отображение обработчика StaticFile, но, похоже, это не влияет на него. Мне было интересно, может ли это быть связано с тем, что у Происхождения нет косой черты, в то время как у Реферера есть.

Отображение обработчика StaticFile в IIS для сайта имеет путь *, а для глаголов установлено значение "Все глаголы", для доступа выбрано "Чтение", для сопоставления - "Файл или папка".

Вот что я вижу, используя Chrome Developer Tools:

POST http://<my site URL>/# 405 Method Not Allowed 28ms

генеральный

Remote Address:<my server ip>:80
Request URL:http://<my site url>/
Request Method:POST
Status Code:405 Method Not Allowed

Resonse Headers

Access-Control-Allow-Headers:Accept, Content-Type, Origin
Access-Control-Allow-Methods:GET, PUT, POST, DELETE, OPTIONS
Access-Control-Allow-Origin:*
Allow:GET, HEAD, OPTIONS, TRACE
Cache-Control:private
Content-Length:5291
Content-Type:text/html; charset=utf-8
Date:Thu, 10 Sep 2015 23:20:03 GMT
Server:Microsoft-IIS/8.0
X-Powered-By:ASP.NET

Заголовки запроса

Accept:application/json
Accept-Encoding:gzip, deflate
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6
Cache-Control:no-cache
Connection:keep-alive
Content-Length:252016
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryJMRgHAltxqUm8aBL
Host:labeleditorclient
Origin:http://<my site URL>
Referer:http://<my site URL>/
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36
X-Requested-With:XMLHttpRequest

Запросить полезную нагрузку

------WebKitFormBoundaryJMRgHAltxqUm8aBL
Content-Disposition: form-data; name="file"; filename="1.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet


------WebKitFormBoundaryJMRgHAltxqUm8aBL--

1 ответ

Решение

Я выяснил, в чем проблема. Страницей по умолчанию был index.html. Не было никакого обработчика для HTML, который обрабатывал POST.

Поэтому я следовал приведенным здесь инструкциям, чтобы добавить обработчик для HTML http://sysadmin.circularvale.com/server-config/enabling-post-requests-to-static-eg-html-pages-using-iis-7/

После этого все заработало.

Другие вопросы по тегам