使用formdata在vue和django之间传递文件
在前端页面中如果有文件或者图片需要上传的场景下,通用做法是使用formdata
将文件从前端传输到后台,在后台上传文件并将url保存在数据库。
当前项目是使用vue
+ Element UI
+ django
的框架,需要将文件从vue传递到django中,上传阿里云OSS存储。记录使用方法
1|0formdata的简单使用
1|1创建
新建一个formdata的变量
1|2添加数据
通过append(key, value)
来添加数据,这里分为两种情况,
一、key值无重复
key值不存在重复的情况下,一个key对应一个value
二、key值重复
key值在某些时候会重复,如上传多个文件时,这时一个key对应一个数组,数组中为多个value
1|3获取数据
key值对应一个value,可以通过get
方法取值
key值对应多个value,可以通过getAll
方法取值
如果key对应多个value而使用get
取值,只能取到value的最后一个值
1|4判断数据是否存在
我们可以通过has(key)来判断是否对应的key值
1|5删除数据
通过delete(key),来删除数据
1|6遍历数据
我们可以通过entries()来获取一个迭代器,然后遍历所有的数据,
2|0项目中使用
要完成的功能如下,在一个弹出框中能够输入信息,重点是能够添加多个文件。
在Element UI
中已经处理好,当选择多个文件之后,会保存到一个数组中,我只需要对这个数组操作即可。
2|1vue代码
创建formdata
发送请求
post请求的内容格式。post请求不是普通的json而是form-data
2|2后端处理
django的接收:
后续将文件上传到阿里云的对象存储,将文件的url保存到数据库。展示或编辑文件时,只需要传入文件的url,element UI即可解析出文件。
__EOF__

本文作者:goldsunshine
本文链接:https://www.cnblogs.com/goldsunshine/p/14885251.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/goldsunshine/p/14885251.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理