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中的undefined和not defined区别示例介绍
Feb 26 Javascript
jQuery的图片滑块焦点图插件整理推荐
Dec 07 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
Aug 18 Javascript
js性能优化技巧
Nov 29 Javascript
全面理解JavaScript中的继承(必看)
Jun 16 Javascript
BootStrap入门教程(一)之可视化布局
Sep 19 Javascript
基于javaScript的this指向总结
Jul 22 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
Jul 27 Javascript
详解原生JS回到顶部
Mar 25 Javascript
vue单文件组件无法获取$refs的问题
Jun 24 Javascript
js实现查询商品案例
Jul 22 Javascript
如何在 Vue 表单中处理图片
Jan 26 Vue.js
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 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
2016/09/21 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
jquery实现简单的瀑布流布局
2016/12/11 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
JS实现移动端实时监听输入框变化的实例代码
2017/04/12 Javascript
jQuery除指定区域外点击任何地方隐藏DIV功能
2017/11/13 jQuery
详解如何将 Vue-cli 改造成支持多页面的 history 模式
2017/11/20 Javascript
实例详解BootStrap的动态模态框及静态模态框
2018/08/13 Javascript
vue 监听屏幕高度的实例
2018/09/05 Javascript
layUI实现前端分页和后端分页
2019/07/27 Javascript
layui动态绑定事件的方法
2019/09/20 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python Pandas 读取txt表格的实例
2018/04/29 Python
python图像处理入门(一)
2019/04/04 Python
对Django外键关系的描述
2019/07/26 Python
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
会计专业自我鉴定范文
2013/10/06 职场文书
职业规划书如何设计?
2014/01/09 职场文书
班级寄语大全
2014/04/10 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
领导班子对照检查材料
2014/09/22 职场文书
文员岗位职责
2015/02/04 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
《牧场之国》教学反思
2016/02/22 职场文书
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL