В моем проекте мне нужно загрузить много файлов, размер которых может достигать 50-60 МБ. Я использую поле файла Django для загрузки файлов. Но когда размер файла превышает 2,5 МБ, это дает мне эту ошибку
[Errno 2] Нет такого файла или каталога: '/tmp/tmp3v35kv5z.upload.pdf'
Я пробовал файлы разных размеров. Файлы <2MB работают просто отлично </p>
Settings.py выглядит так:
STATIC_URL = '/static/'
MEDIA_URL = '/uploads/'
MEDIA_ROOT = os.path.join(BASE_DIR, "uploads")
CONTENT_TYPES = ['image', 'document']
# 2.5MB - 2621440
# 5MB - 5242880
# 10MB - 10485760
# 20MB - 20971520
# 50MB - 5242880
# 100MB 104857600
# 250MB - 214958080
# 500MB - 429916160
MAX_UPLOAD_SIZE = "104857600"
view.py выглядит так:
if request.method == 'POST' and request.FILES['fileToUpload']:
myfile = request.FILES['fileToUpload']
fs = FileSystemStorage()
filename = fs.save(myfile.name, myfile)
path = fs.url(filename)
student_roll_no = request.POST.get('roll_no')
document_type = request.POST.get('doctype')
department = request.POST.get('department')
title = request.POST.get('title')
subject = request.POST.get('subject')
date_of_submission = datetime.datetime.now().date()
document_code = student_roll_no+'_'+document_type
...
Document.objects.create(code = document_code, document = request.FILES['fileToUpload'], path = path, date_of_submission = date_of_submission, type = document_type, title = title, department = department, subject = subject, updation_allowed = '0')
Ожидаемый результат: Загрузка файла прошла успешно!
Текущий результат: [Errno 2] Нет такого файла или каталога: '/tmp/tmp3v35kv5z.upload.pdf'
Редактировать 1:
Файл загружается в папку загрузки, но при создании записи в базе данных он выдает исключение с указанной выше ошибкой.
Редактировать 2:
Нашел решение. Просто нужно добавить следующую строку в файл settings.py
FILE_UPLOAD_MAX_MEMORY_SIZE = 5242880