用户在Django中下载文件后,从服务器中删除该zip文件

nzkunb0c  于 2023-05-19  发布在  Go
关注(0)|答案(1)|浏览(284)

我想从服务器中删除生成的zipfile,在最终用户将其下载到Django Python Web应用程序中的本地系统后。
我的问题类似于另一个用户已经提出的this问题
但是,上面分享的链接上建议的解决方案需要我导入这一行:

from webapp.celery import app

我不知道如何安装这个库?任何关于如何使用链接上建议的解决方案的想法谢谢。

lstz6jyr

lstz6jyr1#

也许你可以这样尝试:

import os
from django.http import HttpResponse
from django.views import View

class MyDownloadView(View):
    def get(self, request):
        # code etc..
        zipfile_path = "/path/to/generated/zipfile.zip"  # Replace with the actual path

        # Open the file for reading and serve it to the user
        with open(zipfile_path, 'rb') as file:
            response = HttpResponse(file.read(), content_type='application/zip')
            response['Content-Disposition'] = 'attachment; filename="downloaded.zip"'

        # Delete the zipfile from the server
        os.remove(zipfile_path)

        return response

相关问题