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 相关文章推荐
过虑特殊字符输入的js代码
Aug 05 Javascript
JS常见问题整理(持续更新)
Aug 06 Javascript
javascript根据像素点取位置示例
Jan 27 Javascript
用jquery模仿的a的title属性的例子
Oct 22 Javascript
js实现照片墙功能实例
Feb 05 Javascript
jquery图片切换插件
Mar 16 Javascript
如何改进javascript代码的性能
Apr 02 Javascript
jquery实现键盘左右翻页特效
Apr 30 Javascript
Vue-resource实现ajax请求和跨域请求示例
Feb 23 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
Nov 22 Javascript
vue双向绑定及观察者模式详解
Mar 19 Javascript
Java 生成随机字符的示例代码
Jan 13 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基础知识:类与对象(5) static
2006/12/13 PHP
关于页面优化和伪静态
2009/10/11 PHP
一步一步学习PHP(3) php 函数
2010/02/15 PHP
php 注册时输入信息验证器的实现详解
2013/07/05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
2014/06/23 PHP
JavaScript创建命名空间的5种写法
2014/06/24 PHP
PHP中捕获超时事件的方法实例
2015/02/12 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
JavaScript中的一些定位属性[图解]
2010/07/14 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
iframe窗口高度自适应的又一个巧妙实现思路
2014/04/04 Javascript
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
第二篇Bootstrap起步
2016/06/21 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
Js利用正则表达式去除字符串的中括号
2020/11/23 Javascript
Python进行数据科学工作的简单入门教程
2015/04/01 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
Python 抓取微信公众号账号信息的方法
2019/06/14 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
中学生学习生活的自我评价
2013/10/26 职场文书
公务员的自我鉴定
2013/10/26 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
2015夏季作息时间调整通知
2015/04/24 职场文书
本科毕业答辩开场白
2015/05/27 职场文书
Golang: 内建容器的用法
2021/05/05 Golang
SpringBoot集成Redis的思路详解
2021/10/16 Redis