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快速检测浏览器对CSS3特性的支持情况
Sep 26 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
Dec 14 Javascript
JavaScript中伪协议 javascript:使用探讨
Jul 18 Javascript
jQuery增加自定义函数的方法
Jul 18 Javascript
JavaScript统计网站访问次数的实现代码
Nov 18 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
Nov 09 Javascript
Angular CLI在Angular项目中如何使用scss详解
Apr 10 Javascript
JS实现json对象数组按对象属性排序操作示例
May 18 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
Aug 16 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
Nov 20 Javascript
js校验开始时间和结束时间
May 26 Javascript
为什么JavaScript中0.1 + 0.2 != 0.3
Dec 03 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 生成文字png图片的代码
2011/04/17 PHP
PHP性能优化 产生高度优化代码
2011/07/22 PHP
分享10段PHP常用代码
2015/11/11 PHP
PHP怎样用正则抓取页面中的网址
2016/08/09 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
通过Mootools 1.2来操纵HTML DOM元素
2009/09/15 Javascript
javascript parseInt() 函数的进制转换注意细节
2013/01/08 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
详解JavaScript函数对象
2015/11/15 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
从setTimeout看js函数执行过程
2017/12/19 Javascript
webpack配置打包后图片路径出错的解决
2018/04/26 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
Node.js系列之安装配置与基本使用(1)
2019/08/30 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
小程序实现密码输入框
2020/11/16 Javascript
python3.5基于TCP实现文件传输
2020/03/20 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
python图形界面开发之wxPython树控件使用方法详解
2020/02/24 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
HTML5 Canvas绘制文本及图片的基础教程
2016/03/14 HTML / CSS
Omio中国:全欧洲低价大巴、火车和航班搜索和比价
2018/08/09 全球购物
新加坡网上美容店:Hermo新加坡
2019/06/19 全球购物
工厂厂长岗位职责
2013/11/08 职场文书
销售经理工作职责范文
2013/12/03 职场文书
冬季安全检查方案
2014/05/23 职场文书
详解Python中下划线的5种含义
2021/07/15 Python
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS