一、概述

在项目中,点击下载按钮,就可以下载文件。

传统的下载链接一般是get方式,这种链接是公开的,可以任意下载。

在实际项目,某些下载链接,是私密的。必须使用post方式,传递正确的参数,才能下载。

二、django项目

本环境使用django 3.1.5,新建项目download_demo

安装模块

修改文件download_demo/settings.py

注册中间件

最后一行增加

修改download_demo/urls.py

修改api/views.py

在项目根目录创建upload文件

 里面放一个excel文件,比如:大江大河.xlsx

三、vue项目

新建一个vue项目,安装elementui 模块即可。

新建test.vue

注意:这里使用post请求,并将filename传输给api,用来下载指定的文件。 

访问测试页面,点击下载按钮

就会自动下载

打开工具栏,查看响应信息

这里,就是django返回的文件名,浏览器下载保存的文件名,也是这个。

遇到中文,会进行urlcode编码。

所以在vue代码中,对content-disposition做了切割,得到了文件名。

以上就是vue+django实现下载文件的示例的详细内容,更多关于vue+django实现下载文件的资料请关注www.887551.com其它相关文章!