Я пытаюсь загрузить файл в Django, используя следующий код на моем Android приложения:Загрузка файла с Android на DJango. Request.FILES всегда пустой
InputStreamEntity reqEntity = new InputStreamEntity(new FileInputStream(screenshotFile), -1);
reqEntity.setContentType("application/octet-stream");
reqEntity.setChunked(true);
HttpPost httpPost = new HttpPost(serverAddress);
httpPost.setEntity(reqEntity);
HttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(httpPost);
Я нашел много постов, которые stateing, что предыдущий код работает на других серверах как PHP, но по какой-то причине словарь request.FILES
пуст, поэтому я ничего не могу сделать с загруженным файлом. Следующий метод помогает мне проверить значения внутри request.FILES
и request.POST
(также пустой)
Следующая
@csrf_exempt
def upload_file(request):
print request.FILES
print request.POST
return HttpResponse("")
Я также попытался заменить использование InputStreamEntity reqEntity = new InputStreamEntity(new FileInputStream(screenshotFile), -1)
с FileEntity reqEntity = new FileEntity(screenshotFile, "application/octet-stream")
-по заявил в других answers- но такой же бывает.
Возможно, я должен искать в другом месте, а не в request.FILES
. Кто-нибудь знает, как это решить?
EDIT
Я уже опробовал MultipartEntityBuilder
и он работает, но это означает, что для добавления дополнительных банок * в проект, и я бы не хотел.
Попробуйте 'MultipartEntity' вместо – RafaelC
@RafaelCardoso Спасибо, что комментировали. Я отредактировал вопрос, чтобы ответить на ваш комментарий. – Storo