На сервере django обрабатываю загруженные zip-файлы, отправленные из сценария python. Но я получаю «" (пустую строку) для file.content_type. Что я делаю не так?не удалось обнаружить запрос content_type
@csrf_exempt
def Import(request):
if request.method != 'POST':
return HttpResponseNotAllowed('Only POST here')
if not request.FILES or not request.FILES.get(u'file'):
return HttpResponse('Must upload a file')
file = request.FILES[u'file']
if file.content_type == 'application/zip':
unzipped_dir = unzip_file(file)
uid = create_project(unzipped_dir)
shutil.rmtree(unzipped_dir)
py_ob = { }
py_ob['success'] = uid is not None
if uid is not None:
py_ob['id'] = uid
json_ob = simplejson.dumps(py_ob)
return HttpResponse(json_ob, mimetype="application/json")
else:
return HttpResponseNotAllowed('Only POST zip files here')
Это скрипт, который отправляет почтовый файл до:
import sys
import os
import requests
if len (sys.argv) < 5:
print "pass in url, username, password, file"
else:
url = sys.argv[1]
username = sys.argv[2]
password = sys.argv[3]
phile = sys.argv[4]
if os.path.exists(phile):
files = {'file': open(phile, 'rb')}
r = requests.post(url, files=files, auth=(username, password))
if r.status_code == 200:
json_response = r.json()
if json_response['success']:
print "id: " + str(json_response['id'])
else:
print "failure in processing bundle"
else:
print "server problem: " + str(r.status_code)
print r.text
else:
print "cannot find file to upload"
Спасибо - ваш ответ привел меня к этому фрагменту, который обрабатывает is_zipfile для file_pointers. https://github.com/pculture/django-uploadtemplate/blob/master/uploadtemplate/utils.py#L58 – jedierikb