JS FormData上传文件的设置方法


Posted in Javascript onJuly 05, 2017

使用FormData上传文件时,总是获取不到req.file对象。发现是没有配置对FormData导致。

这里我是在vue中使用axios发送的请求,配置代码如下。重点地方给出注释

<form id="uploadform" method="POST" enctype="multipart/form-data" :action="postImgApi" ref="uploadform">
 <input type="file" name="imagefile" @change="upload" ref="inputfile">
</form>
let uploadform = this.$refs.uploadform
let inputfile = this.$refs.inputfile
let formData = new FormData(uploadform) //初始化时将form Dom对象传入
formData.append('imagefile', inputfile) //将imagefile键追加进去,值为input-file的dom对象,否则服务端无法获取file
this.$http.post(this.postImgApi, formData, {
 headers: {
  'Content-Type': 'multipart/form-data' //设置post文件的请求头
 }
}).then(res => {
 debugger
 this.textarea = res.data
})

这两天也是从网上找了各种demo和资料,发现使用自己的请求是后台就是获取不到文件,而使用form表单的submit却是可以。最开始分析是否是自己的请求头的问题,发现content-type正确且带有boundary,content-length也正常,说明请求头这里应该是没问题的。所以从FormData这里入手,几次尝试后寻找到上面代码的方式可以正常运行。这里后面有时间还是要详细分析下FormData,好好学习下在给出深度的解释。

以上所述是小编给大家介绍的JS FormData上传文件的设置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
让浏览器非阻塞加载javascript的几种方法小结
Apr 25 Javascript
JavaScript中两个感叹号的作用说明
Dec 28 Javascript
常见表单重复提交问题整理及解决方法
Nov 13 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
Jun 05 Javascript
jQuery中:enabled选择器用法实例
Jan 04 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
May 25 Javascript
深入浅析JavaScript中对事件的三种监听方式
Sep 29 Javascript
JS简单实现无缝滚动效果实例
Aug 24 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
Jul 24 Javascript
Vue中用props给data赋初始值遇到的问题解决
Nov 27 Javascript
微信小程序实现页面分享onShareAppMessage
Aug 12 Javascript
解决Layui数据表格显示无数据提示的问题
Nov 14 Javascript
JS实现unicode和UTF-8之间的互相转换互转
Jul 05 #Javascript
js 获取元素的具体样式信息getcss(实例讲解)
Jul 05 #Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
Jul 05 #Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
Jul 05 #Javascript
JS鼠标滚动分页效果示例
Jul 05 #Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 #jQuery
Angular 2父子组件数据传递之@Input和@Output详解 (上)
Jul 05 #Javascript
You might like
PHP取进制余数函数代码
2012/01/19 PHP
php弹出对话框实现重定向代码
2014/01/23 PHP
php去除数组中重复数据
2014/11/18 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
jquer之ajaxQueue简单实现代码
2011/09/15 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
document节点对象的获取方式示例介绍
2013/12/24 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
详解vue组件基础
2018/05/04 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
基于Vue SEO的四种方案(小结)
2019/07/01 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
在Django框架中设置语言偏好的教程
2015/07/27 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
教你用Python写安卓游戏外挂
2018/01/11 Python
解决python 输出是省略号的问题
2018/04/19 Python
Numpy array数据的增、删、改、查实例
2018/06/04 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
使用 Python 写一个简易的抽奖程序
2019/12/08 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
环境工程专业自荐信
2014/03/03 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
Golang 入门 之url 包
2022/05/04 Golang