Файл .zip скачивается без имени
Делаю в приложении раздел с файлами и реализую в нём возможность скачивать всё одним архивом. Архив создается, файлы туда записываются, но беда в том, что, при попытке его скачать, он скачивается с именем "Без имени.zip", хотя имя в папке на сервере ему задается нормально. Я уже часа 2 штудирую различную документацию, но пока не вижу ничего, что могло бы мне помочь. iri_to_uri() не работает, encode() тоже пробовал, но видимо дело не только в символах.
def DownloadAllFilesView(request, objId):
if request.method == 'POST':
project_folder = Doc.objects.filter(idProj=Project.objects.get(id=objId)).first().idProj.name.replace(' ', '_')
path = settings.MEDIA_ROOT + '/projects/project_%s/' % project_folder
z_name = '%s.zip' % Project.objects.get(id=objId).name.replace(' ', '_') # сейчас здесь находится путь до папки media, где будет лежать архив
z = zipfile.ZipFile(settings.MEDIA_ROOT+'/projects/archs/'+z_name, 'w')
z.filename = z_name # изменяю filename архива на нужное, в папке media все работает
for file in os.listdir(path):
z.write(os.path.join(path, file), arcname=file) # запись файлов в архив
z.close()
return FileResponse(open(os.path.join(settings.MEDIA_ROOT+'/projects/archs/', z.filename), 'rb'))
Кто с такой проблемой уже сталкивался, помогите, пожалуйста! Спасибо!