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 prototype 原型链
Mar 12 Javascript
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
May 17 Javascript
javascript下拉列表菜单的实现方法
Nov 18 Javascript
JavaScript实现的SHA-1加密算法完整实例
Feb 02 Javascript
jQuery简单实现页面元素置顶时悬浮效果示例
Aug 01 Javascript
JS验证不重复验证码
Feb 10 Javascript
AngularJS实现页面定时刷新
Mar 14 Javascript
jQuery获取table下某一行某一列的值实现代码
Apr 07 jQuery
AngularJS封装$http.post()实例详解
May 06 Javascript
微信小程序实现下拉刷新和轮播图效果
Nov 21 Javascript
Vue3新特性之在Composition API中使用CSS Modules
Jul 13 Javascript
JS实现九宫格拼图游戏
Jun 28 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调用nginx的mod_zip模块打包ZIP文件
2014/06/11 PHP
PHP编程中尝试程序并发的几种方式总结
2016/03/21 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
vue2实现数据请求显示loading图
2017/11/28 Javascript
vue内置指令详解
2018/04/03 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
python处理cookie详解
2014/02/07 Python
Django框架下在URLconf中指定视图缓存的方法
2015/07/23 Python
python爬虫爬取淘宝商品信息(selenum+phontomjs)
2018/02/24 Python
python内置数据类型之列表操作
2018/11/12 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
使用python实现kNN分类算法
2019/10/16 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
军训自我鉴定
2013/12/14 职场文书
仓库主管岗位职责
2014/03/02 职场文书
2014年综治宣传月活动总结
2014/04/28 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
六年级语文教学反思
2016/03/03 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android
利用nginx搭建RTMP视频点播、直播、HLS服务器
2022/05/25 Servers