axios中post请求formdata方式上传文件(Excel)--和--postman中测试上传文件接口

对于一个小白来说小小的上传文件功能真的难为了我两天,今天它终于完成了!!

axios中post请求formdata方式上传文件(Excel)--和--postman中测试上传文件接口_第1张图片
一个菜狗向成功人士转变的路程
axios中post请求formdata方式上传文件(Excel)--和--postman中测试上传文件接口_第2张图片

前面都是废话哈哈哈哈哈,下面开始才是正文啦!!

在postman中如何测试上传文件
首先选择post 然后添加URL
选择body下form-data
然后添加后台接收的参数例:multipartFile
最重要的是在key那边选择File这种方式
!!!!!!
例:

axios中post请求formdata方式上传文件(Excel)--和--postman中测试上传文件接口_第3张图片
以上操作对应的前端代码(axios中post请求formdata方式上传文件)

HTML代码
(为了方便观看input中的属性换行了)
因为样式问题所以将input隐藏了,可以点击button按钮时触发input

<button  @click="up($event)" >上传文件<i class="el-icon-upload el-icon--right">i>button>
<input 
  style="display: none" 
  id="uploadEventFile"   
  accept="application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet,application/vnd.ms-excel" 
  ref="file" 
  name="fileinfo" 
  type="file"
  @change="inputCustomProduct($event)">

重点来了!
js代码

 // 上传文件
        up(event){
            event.preventDefault();
            //因为样式问题,点击button按钮触发input
            $("#uploadEventFile").trigger("click")
        },
        inputCustomProduct(el){
            //console.log(el)
            let that = this;
            //声明一个FormDate对象
            let formData = new FormData();
            let file = el.target.files[0];
            //把文件信息放入对象中
            formData.append("multipartFile", file);
            // console.log(FormData.get("multipartFile"));
            config={
                headers: {
                    "Content-Type": "multipart/form-data"
                }
            };
            axios.post('Url',formData,config).then(res=>{
            //成功后调用的代码
            console.log(res);
        }).catch(result=>{
           //失败后调用的代码
                console.log(result)
            })
        },

完成!!!

你可能感兴趣的:(javascript,js,vue,jquery,前端)