博主信息
博文 37
粉丝 0
评论 1
访问量 49702
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
在使用axios进行上传文件的坑
戈壁骆驼的博客
原创
3519人浏览过

在进行文件上传后台报错

在使用axios进行文件上传时,后台的grails程序经常或出现不能获取file的情况 No signature of method

经过排查不是后台程序的问题,在前端上传的时候,需要对数据进行处理 

如下处理就能正常获取上传的文件了


 html:

 选择文件:

<input type="file" name="fileUpload" id="fileUp" @change="change($event)" ref="inputFile" >

 vuejs:

change:function(event){
        this.file = event.target.files[0]
      },
      upFile:function(event){
        var data = new FormData();//重点在这里 如果使用 var data = {}; data.inputfile=... 这样的方式不能正常上传
        data.append("inputFile",this.file)
        data.append("title","thisAGoodTitle")
        console.log(data)
        // var cfg = {
        //   'Content-type':'multipart/form-data'
        // }
         let headers = {headers: {"Content-Type": "multipart/form-data"}}
            this.$http.post("http://localhost:8081/api/peixun/vedio/uploadVideo",data,headers).then(function(data){
            console.log(data);
          },function(err){
            console.log("err------: ");
            console.log(err);
          })
      }

后端:

def file = request.getFile('inputFile')
file.transferTo(new File(path,newName))//写到磁盘

这样就能将前端的文件上传到服务器端了 

如果不使用这种header,直接将文件按照如下上传 也是可以正常完成上传的


 // let headers = {headers: {"Content-Type": "multipart/form-data"}}
this.$http.post("http://localhost:8081/api/peixun/vedio/uploadVideo",data).then(function(data){...})

1

2

到此,axios进行文件上传的问题解决了 

标记此文,以后遇到这个问题不用到处找了

--------------------- 

作者:shsongtao 

来源:CSDN 

原文:https://blog.csdn.net/shsongtao/article/details/80707467 

版权声明:本文为博主原创文章,转载请附上博文链接!


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学