@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'))
  • Вопрос задан
  • 45 просмотров
Решения вопроса 1
@bacon
внутри находится полный путь до файлов из пустых директорий.
https://docs.python.org/3/library/zipfile.html#zip...

Как мне создать файл архива в папке media/archs/
в z_name указать абсолютный путь до этого места.

как назначить архиву имя при скачивании
тебе третий раз дать ссылку всё на тоже?

ЗЫ ну давай уже учишь самостоятельно читать доки
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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