Размер загруженного файла Django / Dropbox составляет 0 байт. - PullRequest
0 голосов
/ 17 июня 2019

I НЕ могу выяснить, почему мой загруженный файл в Dropbox через Django всегда равен нулю байтов.

Превышение размера Django (с использованием необработанного Python), файлы загружаются нормально.

В моем HTML объявлено enctype="multipart/form-data".

VIEWS.PY:

if cv_form.is_valid():
   cv_form.save(commit=True)

   # print(request.FILES['cv'].size) == 125898
   DOC = request.FILES['cv']
   PATH = f'/CV/{DOC}'
   upload_handler(DOC, PATH)

   #http_response_happens_here()

HANDLER:

def upload_handler(DOC, PATH):
    dbx = dropbox.Dropbox(settings.DROPBOX_APP_ACCESS_TOKEN)
    dbx.files_upload(DOC.file.read(), PATH) 

    #file gets uploaded but always 0bytes in size

1 Ответ

0 голосов
/ 17 июня 2019

Мой плохой!Как я не видел.

Решение, если кто-то еще сталкивается с той же проблемой.Некоторое время боролся с этим.

if cv_form.is_valid():
   cv_form.save(commit=False) # commit should be False before upload

   # print(request.FILES['cv'].size) == 125898
   DOC = request.FILES['cv']
   PATH = f'/CV/{DOC}'
   upload_handler(DOC, PATH)
   cv_form.save(commit=True) # now you can save the file.

   #http_response_happens_here()
...