@NyxDeveloper

Как создать zipfile.Zipfile в нужной мне папке?

Делаю в своем приложении отдачу всех файлов из папки одним архивом. Все круто, архив создается, но почему-то при скачивании у него нет имени, а внутри находится полный путь до файлов из пустых директорий. Как мне создать файл архива в папке media/archs/ и как назначить архиву имя при скачивании?

views.py
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 + '/project_%s/' % project_folder
        z_name = '%s.zip' % Project.objects.get(id=objId).name.replace(' ', '_')

        z = zipfile.ZipFile(z_name, 'w')  # Создание нового архива

        for file in os.listdir(path):
                z.write(os.path.join(path, file))  # Создание относительных путей и запись файлов в архив

        z.close()
        return FileResponse(open(z.filename, 'rb'))
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы