Я отримую відправку файлу з файлу:
file = request.post["ufile"]
Я хочу отримати шлях. Як я можу це отримати. Будь ласка, допоможіть.
Відповіді:
1 для відповіді № 1Ви повинні використовувати request.FILES
словник
Перевірте офіційну документацію про UploadedFile
об'єкт, ви можете скористатись UploadedFile.temporary_file_path
атрибут, але майте на увазі, що тільки файли, завантажені на диск, виставляють його (тобто, зазвичай, при використанні TemporaryFileUploadHandler
обробник завантажень).
upload = request.FILES["ufile"]
path = upload.temporary_file_path
Однак у звичайному випадку ви хочете використовувати файл обробника безпосередньо:
upload = request.FILES["ufile"]
content = upload.read() # For small files
# ... or ...
for chunk in upload.chunks():
do_somthing_with_chunk(chunk) # For bigger files
1 для відповіді № 2
Ви повинні використовувати request.FILES["ufile"].file.name
Ви отримаєте таке /var/folders/v7/1dtcydw51_s1ydkmypx1fggh0000gn/T/tmpKGp4mX.upload
і використовувати file.name
, файл завантаження має перевищувати 2,5 Мб.
якщо ви хочете змінити це, див Параметри завантаження файлу