2014-12-24 3 views
1

Я загружаю файл с помощью curl в одном из проектов django, он отлично работает в локальном хосте, но когда я размещал проект на удаленном сервере, он не работает.Curl: HTTP/1.1 100 Продолжить сообщение при загрузке файла

Я посылаю файл из этой команды

curl -i --form [email protected]/path_to_file http://example.com/process-file 

и views.py, я обработка этого файла как

def process_file(request): 
    if request.method != 'POST': 
     return HttpResponseNotAllowed('Only POST Method') 

    docfile = request.FILES['docfile'] 

    output = main(0, docfile) # output is json object 
    return HttpResponse(output,content_type = "application/json") 

Это работает прекрасно, когда я работать в локальной машине , но при отправке запроса POST на удаленный сервер с возвратами с вертушками

HTTP/1.1 100 Continue 

и ничего не делать. Файл загружается. Что мне делать.

Благодаря

Edit 1: Я пытался отправить некоторые другие HttpResponse (имя файла) из другого способа просмотра, его работает нормально, но когда я обработать файл, он просто посылает HTTP/1.1 100 Continue

ответ

1

Я не знаю точно, как это исправить в вашем проекте, но похоже, что ваш curl отправляет заголовок Expect: 100-continue, предлагая удаленному серверу отправить обратно HTTP/1.1 Continue. curl ждет ответа, после чего загружает форму. Вы говорите, что curl возвращает HTTP/1.1 100 Continue, тогда «ничего не делает», но на самом деле он должен быть загружен после его получения, поэтому, возможно, любой обратный вызов, который вы используете, не возвращает этого. Я бы попытался взглянуть на него с Wireshark.