在 Django 中指定下载位置
Specify download location in Django
有没有办法在 Django 中指定下载位置?
我的页面允许用户
- 点击一个按钮运行后台一个EXE
- 然后为用户提供一个新页面,其中提供了下载选项
- 用户点击下载,下载它生成的最新文件
我在 HTML 中读到您不能强制浏览器下载特定位置。我想知道 Django 是否有一个选项可以让你这样做。
def DownloadZip(request, zipname, prodVersID):
print(zipname)
zip_path = "C:/fbw/firmware/main/sys/" + zipname
zip_file = open(zip_path, 'rb')
response = HttpResponse(zip_file, content_type='application/zip')
response['Content-Disposition'] = 'attachment; filename=%s' %zipname
response['Content-Length'] = os.path.getsize(zip_path)
zip_file.close()
return response
经过进一步研究,我得出结论,参考 也反映在 Django 上。 Django 不提供此功能,它是 Web 浏览器的一项安全功能,不允许您指定下载位置。
归功于Darren
Whether the browser asks the user or not is down to the preferences in
the browser.
You can't bypass those preference, otherwise it would violate user's
security.
有没有办法在 Django 中指定下载位置?
我的页面允许用户
- 点击一个按钮运行后台一个EXE
- 然后为用户提供一个新页面,其中提供了下载选项
- 用户点击下载,下载它生成的最新文件
我在 HTML
def DownloadZip(request, zipname, prodVersID):
print(zipname)
zip_path = "C:/fbw/firmware/main/sys/" + zipname
zip_file = open(zip_path, 'rb')
response = HttpResponse(zip_file, content_type='application/zip')
response['Content-Disposition'] = 'attachment; filename=%s' %zipname
response['Content-Length'] = os.path.getsize(zip_path)
zip_file.close()
return response
经过进一步研究,我得出结论,参考
归功于Darren
Whether the browser asks the user or not is down to the preferences in the browser.
You can't bypass those preference, otherwise it would violate user's security.