vue实现上传文件_vue工程如何打包部署运行

vue实现上传文件_vue工程如何打包部署运行SpringMVC+vue实现文件上传后台前端异步上传(后端springmvc加前端vue)后台采用springmvc,实现获取到相对路径和绝对路径存储为json传到前端作为新增到数据库里的数据//文件上传@PostMapping(value=”/upLoading”)@ResponseBodypublicResult<HashMap<String,String>>upLoading(MultipartFilefile,Http

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

SpringMVC+vue实现文件上传

异步上传(后端springmvc加前端vue)

后台

采用springmvc,实现获取到相对路径和绝对路径存储为json传到前端作为新增到数据库里的数据

//文件上传
    @PostMapping(value = "/upLoading")
    @ResponseBody
    public Result<HashMap<String,String>> upLoading(MultipartFile file,HttpServletRequest request){ 
   
        System.out.println("进入文件上传");
        //定义要返回的绝对路径和相对路径
        String absolutePath=null;
        String relativePath=null;

        Result<HashMap<String,String>> result = new Result<HashMap<String,String>>();
        //获得服务器所在路径
        String path = request.getSession().getServletContext().getRealPath("/")+file.getOriginalFilename();
        //获得上传文件的文件名
        String fileName=file.getOriginalFilename();
        System.out.println(fileName);
        //xxxxx.xxx
        //UUID.randomUUID()
        //UUID:随机生成一段字符串,16-18位由字母加数字拼接而成,保证10年不重复
        fileName = UUID.randomUUID()+fileName.substring(fileName.lastIndexOf("."));
        System.out.println(fileName);
        //设置绝对路径和文件存储路劲
        absolutePath = "D:\\ideaProjects\\SSMApp\\src\\main\\web\\statics\\uploadfiles\\"+fileName;
        //设置相对文件路径
        relativePath="statics\\uploadfiles\\"+fileName;
        System.out.println(path);
        HashMap<String ,String> map=new HashMap<String, String>();
        map.put("absolutePath",absolutePath);
        map.put("relativePath",relativePath);
        //保存文件
        try { 
   
            file.transferTo(new File(absolutePath));
            result.setResult(map);
            result.setMessage("文件上传成功");
        }catch (Exception exce){ 
   
            result.setMessage("文件上传失败:"+exce.getMessage());
            result.setSuccess(false);
            System.out.println(exce.getMessage());
        }
        return result;
    }

前端

部分前端(重要实现前端部分)

<div class="item form-group"><!--for="name"-->
            <label class="control-label col-md-3 col-sm-3 col-xs-12" >LOGO图片 <span class="required">*</span>
            </label>
            <div class="col-md-6 col-sm-6 col-xs-12"><!--type="file" -->
            <input type="file" @change="upLoading($event)" v-model="params.file" class="form-control col-md-7 col-xs-12" name="logoPicPath" required="file" id="logoPicPath" accept="jpg,jpeg,png"/>
              <span style="display: none" v-model="params.logoPicPath">
              <span style="display: none" v-model="params.logoLocPath">
              <span class="add-file-right-more">支持扩展名:jpg,jpeg,png</span>
              ${fileUploadError }
            </div>
          </div>
<script> new Vue({ 
     params:{ 
     logoPicPath:"", //相对路径 logoLocPath:"" //绝对路径 } }), methods:{ 
     //文件上传 upLoading(even){ 
     this.params.file=even.target.files[0]; console.log(this.params.file.name) console.log("进入文件上传") var forms = new FormData() forms.append("file",this.params.file,this.params.file.name); var configs = { 
     headers: { 
     "Content-Type": "multipart/form-data" } }; console.log(this.params.file); axios.post("/dev/upLoading",forms ,configs).then(res=>{ 
     console.log(res) this.params.logoPicPath=res.data.result.relativePath; this.params.logoLocPath=res.data.result.absolutePath; //绝对 console.log(res) }) } } </script>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170639.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月15日 下午11:36
下一篇 2022年8月15日 下午11:46


相关推荐

  • 玩转xss

    玩转xss0x00前言很多人现在都没懂xss为什么这么鸡肋的漏洞能排到owasp前十名,xss做多也就拿来做个弹窗和打cookie,然后进入后台,感觉没啥意义,还不如弱口令来得实在。那么我们就先

    2021年12月11日
    108
  • Python识别图片中的文字「建议收藏」

    Python识别图片中的文字「建议收藏」不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制。或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存。

    2022年4月29日
    94
  • java swt griddata_SWT的GridData一些参数的图示

    java swt griddata_SWT的GridData一些参数的图示1.参数;verticalSpanGridDatagridData=newGridData();gridData.verticalSpan=100;finalTextnameText=newText(shell,SWT.BORDER);nameText.setLayoutData(gridData);可以发现,verticalSpan代表的是控件占据的行数。若代码如下:public…

    2022年5月26日
    38
  • 星火教师助手

    星火教师助手

    2026年3月14日
    3
  • 互联网金融学习总结(5)——市场主流的风控模型简要学习总结

    互联网金融学习总结(5)——市场主流的风控模型简要学习总结分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程一、市场调研目前市面主流的风控模型1、互联网金融前10名排行榜(数据截止日期2017-09-12)互联网金融公司排名分别是蚂蚁金服、陆金所、京东金融、苏宁金融、百度金融、腾讯理财通、宜信、钱大掌柜、万达金融和网易理财。1.1蚂蚁金服1.1.1大数据技术对…

    2022年5月22日
    65
  • 程序员常用的十一种算法

    程序员常用的十一种算法程序员常用的十一种算法1.二分查找算法2.分治法3.动态规划4.字符串暴力匹配算法5.KMP算法6.贪心算法7.普里姆算法介绍(找点)8.克鲁斯卡尔(Kruskal)算法(找边)9.迪杰斯特拉算法10.弗洛伊德算法11.骑士周游回溯算法……

    2022年10月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号