springBoot的文件上传功能

知识点:

后台:将上传的图片写入指定服务器路径,保存起来,返回上传后的图片路径(在springBoot中,参考博客:http://blog.csdn.net/change_on/article/details/59529034)

前端:在Vue.js前端框架中,使用Vue_Core_Image_Upload插件,上传图片 (github地址:https://github.com/Vanthink-UED/vue-core-image-upload)

后台:

1)在Controller中写一个方法,处理上传图片文件

package com.hand.hand.controller;

import com.hand.hand.util.FileUtil;  //文件工具类import org.springframework.http.ResponseEntity;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.CrossOrigin;import javax.servlet.http.HttpServletRequest;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.MultipartFile;

/** * Created by nishuai on 2017/12/26. */@CrossOrigin@Controllerpublic class FileUploadController {

//处理文件上传    @RequestMapping(value="/uploadimg", method = RequestMethod.POST)    public @ResponseBody String uploadImg(@RequestParam("file") MultipartFile file,                                          HttpServletRequest request) {

String contentType = file.getContentType();   //图片文件类型        String fileName = file.getOriginalFilename();  //图片名字

//文件存放路径        String filePath = "C:\\Users\\Administrator\\Desktop\\vue-manage-system-master\\static\\uploadimg\\";

//调用文件处理类FileUtil,处理文件,将文件写入指定位置       try {            FileUtil.uploadFile(file.getBytes(), filePath, fileName);        } catch (Exception e) {            // TODO: handle exception        }

// 返回图片的存放路径        return filePath;    }

}

2)FileUtil工具类,实现uploadFile方法
package com.hand.hand.util;import java.io.File;import java.io.FileOutputStream;

/** * Created by nishuai on 2017/12/26. */public class FileUtil{

//文件上传工具类服务方法

public static void uploadFile(byte[] file, String filePath, String fileName) throws Exception{

File targetFile = new File(filePath);        if(!targetFile.exists()){            targetFile.mkdirs();        }        FileOutputStream out = new FileOutputStream(filePath+fileName);        out.write(file);        out.flush();        out.close();    }}

前台3)Vue中使用Vue-core-images-upload插件实现图片的上传功能(可看考官方文档)
<div class="img">   <img class="pre-img" :src="src" alt="">   <vue-core-image-upload :class="[‘pure-button‘,‘pure-button-primary‘,‘js-btn-crop‘]"                        :crop="false"                        text="上传图片"                         inputOfFile="file"  //输出文件的名称                        url="http://localhost:5050/uploadimg" //服务器api                        extensions="png,gif,jpeg,jpg"                        @imageuploaded="imageuploaded"   //图片上传成功后调用此方法                        @errorhandle="handleError"></vue-core-image-upload></div>
<script>    import VueCoreImageUpload from ‘vue-core-image-upload‘

export default {        components: {            ‘vue-core-image-upload‘: VueCoreImageUpload,        },        data() {            return {                src: ‘./static/img/hospital1.jpg‘  //默认的图片路径            }        },        methods: {  
          imageuploaded(res) {     //图片上传成功后调用此方法,res为返回值为服务器存放图片的路径,再将图片路径赋值给src            console.log("文件上传成功!");            this.src=res;

},         handleError(){           //图片上失败后调用此方法              console.log("文件上传失败!");

this.$notify.error({                         title: ‘上传失败‘,                         message: ‘图片上传接口上传失败,可更改为自己的服务器接口‘                   });         }
        }    };</script>

4)前端页面效果,点击上传图片可调用,http://localhost:5050/uploadimg后端接口

 

 

原文地址:https://www.cnblogs.com/shuaifing/p/8137568.html

时间: 2024-08-30 09:52:54

springBoot的文件上传功能的相关文章

Springboot如何启用文件上传功能

网上的文章在写 "springboot文件上传" 时,都让你加上模版引擎,我只想说,我用不上,加模版引擎,你是觉得我脑子坏了,还是觉得我拿不动刀了. springboot如何启用文件上传功能: 其实你啥都不用做,直接用就是了.文件上传相关的随着你的webStarter引入,就被引入到你的项目里面了. POM依赖: 代码: 注意事项: springboot文件上传 单个请求包含的文件默认大小:1MB-10MB 请求格式POST 参数格式form-data 如果出错了,请仔细查看报错信息!

SpringBoot图文教程4—SpringBoot 实现文件上传下载

有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 文章结尾配套自测面试题,学完技术自我测试更扎实 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 大哥大姐新年好,点赞转发不要少 SpringBoot 图文系列教程技术大纲 鹿老师的Java笔记 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+案例 思维导图」「基础篇上」 SpringBoot图文教程2—日志的使用「logback」「log4j」 Sp

使用Commons FileUpLoad组件实现文件上传功能

Commons 是Apache开放的源码组织的一个java子项目,该项目主要涉及一些开发中常用的模块,如文件上传,命令行处理,数据库连接池等.FileUpLoad就是其中的一个用于处理HTTP文件上传的子项目.Commons FileUpLoad组建具有以下几个特点: 1.使用简单:Commons FileUpLoad组件可以方便的嵌入JSP文件中,在JSP文件中仅编写少量代码就可完成文件上传功能,十分方便. 2.能够全程控制上传的内容:使用Commons FileUpLoad组件提供的对象及操

nodejs 实现简单的文件上传功能

首先需要大家看一下目录结构,然后开始一点开始我们的小demo. 文件上传总计分为三种方式: 1.通过flash,activeX等第三方插件实现文件上传功能. 2.通过html的form标签实现文件上传功能,优点:浏览器兼容好. 3.通过xhr level2的异步请求,可以百度formData对象. 这里使用2做个练习. node插件请看下package.json文件 { "name": "upload", "version": "0.1

配置php.ini实现PHP文件上传功能

本文介绍了如何配置php.ini实现PHP文件上传功能.其中涉及到php.ini配置文件中的upload_tmp_dir.upload_max_filesize.post_max_size等选项,这些选项是文件上传成败的关键.我们以php.5.3.5的Windows版本为例说明. php.ini中文件上传功能配置选项说明 用文本工具(推荐EditPlus)打开php.ini 配置文件,查找 File Uploads ,在这个区域有以下3个选项: file_uploads = On 是否允许HTT

Spring MVC使用commons fileupload实现文件上传功能

通过Maven建立Spring MVC项目,引入了Spring相关jar依赖. 1.为了使用commons fileupload组件,需要在pom.xml中添加依赖: <properties> <spring.version>3.0.7.RELEASE </spring.version> <junit.version>3.8.1</junit.version> <fileupload.version>1.2.2</fileupl

如何在Web页面中集成文件上传功能

当前,个人主页制作非常流行.当用户开发好自己的页面时,需要将文件传输到服务器上,解决这个问题的方法之一 是运行FTP服务器并将每个用户的FTP默认目录设为用户的Web主目录,这样用户就能运行FTP客户程序并上传文件到指定的 Web目录.由于Windows NT 和 Windows98均不提供直接的基于窗口形式的FTP客户程序,用户必须懂得如何使用基于命令行 的FTP客户,或掌握一种新的基于窗口形式的FTP客户程序.因此,这种解决方案仅对熟悉FTP且富有经验的用户来说是可行 的. 如果我们能把文件

一个简单的blog系统(三) 增加文件上传功能

1. 一个完整的博客怎么能缺少图片呢,目前上传文件的方法有三种: (1)使用Express自带的文件上传功能,不涉及数据库. (2)使用Formidable外部模块,不涉及数据库. (3)上传到MongoDB,涉及到数据库. 可以看出,第一种方式最简单,Express通过bodyParser()解析请求体,因此我们可以使用bodyParser()来实现文件的上传功能. 2.实现过程 2.1 首先打开header.ejs,在<li><a href="/post" tit

用c++开发基于tcp协议的文件上传功能

用c++开发基于tcp协议的文件上传功能 2005我正在一家游戏公司做程序员,当时一直在看<Windows网络编程> 这本书,把里面提到的每种IO模型都试了一次,强烈推荐学习网络编程的同学阅读,比 APUE 讲的更深入 这是某个银行广告项目(p2p传输视频)的一部分 IO模型采用的阻塞模式,文件一打开就直接上传 用vc 2003编译,生成win32 dll 麻雀虽小五脏俱全,CSimpleSocket,CReadStream dll 输出一虚类 extern "C" __d