精华内容
下载资源
问答
  • springboot上传图片

    2019-06-11 17:40:39
    springboot配置 #指定图片访问域名 upload: path: http://localhost:8081/images/uploadImg/ java后端代码 /** @Author:itchenxx 文件上传 **/ @RestController public class UploadController { //注入图片访问...
    springboot配置

    #指定图片访问域名
    upload:
    path: http://localhost:8081/images/uploadImg/

    java后端代码

    /**

    • @Author:itchenxx

    • 文件上传
      **/
      @RestController
      public class UploadController {
      //注入图片访问域名
      @Value("${upload.path}")
      private String uploadPath;

      /***

      • 文件上传
        */
        @RequestMapping(value = “/uploadFile”, method = RequestMethod.POST)
        public Result fileUpload(MultipartFile file, HttpServletRequest request) throws IOException {

        String fileName = file.getOriginalFilename(); //获取上传文件的名字

        //获取项目的根目录
        //在开发测试模式时,得到地址为:{项目跟目录}/target/static/images/upload/
        //在打成jar正式发布时,得到的地址为:{发布jar包目录}/static/images/upload/
        File path=new File(ResourceUtils.getURL(“classpath:”).getPath());

        String filePath = path + “/static/images/uploadImg/”; //定义上传文件的存放位置
        //判断文件夹是否存在,不存在则创建
        File fileUpload = new File(filePath);

        if (!fileUpload.exists()) {
        fileUpload.mkdirs();
        }

        String newFilePath = filePath + “/” + fileName; //新文件的路径

        try {
        file.transferTo(new File(newFilePath)); //将传来的文件写入新建的文件
        return new Result(true, uploadPath+fileName);

        } catch (IllegalStateException | IOException e) {
        e.printStackTrace();
        }
        return new Result(false, “上传失败”);
        }
        }

    展开全文
  • springboot实现上传图片和预览
  • springboot上传图片 绝对路径

    千次阅读 2019-05-30 15:28:20
    springboot上传图片 绝对路径 application.properties spring.resources.static-locations: file:${web.web-root},file:${web.upload-path} web.upload-path=C:/ web.web-root=C:/ 工具类 public class FileUtils {...

    application.properties

    spring.resources.static-locations: file:${web.web-root},file:${web.upload-path}
    web.upload-path=C:/
    web.web-root=C:/
    

    工具类

    public class FileUtils {
    
        public static String uploadImage(String path, MultipartFile file) throws IOException {
    	
    		String fileName = file.getOriginalFilename();
    		if(!fileName.matches("^.*(jpg|png|gif|PNG|webp|jpeg)$")){
    			return null;
    		}
    		BufferedImage bufferedImage = ImageIO.read(file.getInputStream());
    			int height = bufferedImage.getHeight();
    			int width = bufferedImage.getWidth();
    			if(height == 0 || width ==0){
    				return null;
    			}
    	
    			String dateDir = new SimpleDateFormat("yyyy/MM/dd").format(new Date());
    			String picPath="/images/"+ dateDir.replace("/", "");
    			String localPath = path +picPath;
    			
    			File picFile = new File(localPath);
    			if(!picFile.exists()){
    				picFile.mkdirs();	
    			}
    			String uuid = UUID.randomUUID().toString().replace("-", "");
    			String fileType = fileName.substring(fileName.lastIndexOf("."));
    			String realPath = localPath + "/" + uuid + fileType;
    			file.transferTo(new File(realPath));
    			return picPath+ "/" + uuid + fileType;
    			
        	}
    }
    
    

    上传图片接口

    public class UploadController {
    	private final Logger log = LoggerFactory.getLogger(this.getClass());
    	
    	@RequestMapping("/uploadImage")
    	@ResponseBody
    	public String uploadImage(MultipartFile file,HttpSession session,HttpServletRequest request)
    	{
    		String path="C:/image";
    		try {
    
    			String Imagepath=path+ FileUtils.uploadImage(path, file);
    			log.info(Imagepath);
    			return Imagepath.substring(2, Imagepath.length());
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		return "服务器异常请稍等";
    	}
    
    }
    

    存储路径

    jy_room.setRoomimg(roomimg.substring(roomimg.indexOf("/image"), roomimg.length()));
    
    展开全文
  • springboot 上传图片与回显  在网上找了很多例子,不能完全契合自己的需求,自行整理了下。需求是这样的:项目小,所以不需要单独的图片服务器,图片保存在服务器中任意的地方,并且可以通过访问服务器来获取图片。...

    springboot 上传图片与回显
      在网上找了很多例子,不能完全契合自己的需求,自行整理了下。需求是这样的:项目小,所以不需要单独的图片服务器,图片保存在服务器中任意的地方,并且可以通过访问服务器来获取图片。话不多说上代码:
      
    1、依赖

     <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <!-- apache.commons -->
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-io</artifactId>
        <version>1.3.2</version>
    </dependency>       
    

    2、文件上传工具类

    package com.slovi.utils;
     
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.InputStream;
     
    import org.apache.commons.io.FilenameUtils;
    import org.apache.commons.io.IOUtils;
    import org.springframework.web.multipart.MultipartFile;
     
    public class FileUpload {
         
        /**
         * 文件上传处理
         *
         * @param file
         * @return
         */
        public static String writeUploadFile(MultipartFile file,String module) {
            String filename = file.getOriginalFilename();
            String realpath = "D:/rentHouse/" +  module +"/";
            File fileDir = new File(realpath);
            if (!fileDir.exists())
                fileDir.mkdirs();
     
            String extname = FilenameUtils.getExtension(filename);
            String allowImgFormat = "gif,jpg,jpeg,png";
            if (!allowImgFormat.contains(extname.toLowerCase())) {
                return "NOT_IMAGE";
            }
             
            filename = Math.abs(file.getOriginalFilename().hashCode()) + RandomUtils.createRandomString( 4 ) + "." + extname;
            InputStream input = null;
            FileOutputStream fos = null;
            try {
                input = file.getInputStream();
                fos = new FileOutputStream(realpath + "/" + filename);
                IOUtils.copy(input, fos);
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            } finally {
                IOUtils.closeQuietly(input);
                IOUtils.closeQuietly(fos);
            }
            return "/" + filename;
        }
    }
    

    3、随机数生成工具类

    package com.slovi.utils;
     
    public class RandomUtils {
     
        private static final String charlist = "0123456789";
     
        public static String createRandomString(int len) {
            String str = new String();
            for (int i = 0; i < len; i++) {
                str += charlist.charAt(getRandom(charlist.length()));
            }
            return str;
        }
     
        public static int getRandom(int mod) {
            if (mod < 1) {
                return 0;
            }
            int ret = getInt() % mod;
            return ret;
        }
     
        private static int getInt() {
            int ret = Math.abs(Long.valueOf(getRandomNumString()).intValue());
            return ret;
        }
     
        private static String getRandomNumString() {
            double d = Math.random();
            String dStr = String.valueOf(d).replaceAll("[^\\d]", "");
            if (dStr.length() > 1) {
                dStr = dStr.substring(0, dStr.length() - 1);
            }
            return dStr;
        }
    }
    

    4、控制类

    package com.slovi.controller;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.multipart.MultipartFile;
    import com.slovi.utils.FileUpload;
     
     
    @RestController
    @RequestMapping("/Advert")
    public class AdvertController {
         
        @Autowired
        private AdvertInfoService advertInfoService;
         
        @PostMapping("/upload")
        public Object upload(@RequestParam("file") MultipartFile  file) {
     
            String filename = FileUpload.writeUploadFile(file,"advert");
                    return filename;
     
        }
         
         
    }
    

    5、配置类

    package com.slovi.config;
     
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
     
    @Configuration
    public class WebMvcConfig implements WebMvcConfigurer {
     
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
            registry.addResourceHandler("/picture/**").addResourceLocations("file:C:/Users/Administrator/Desktop/");
        }
     
    }
    

    6、测试页面,放到resources/templates包下

    <!DOCTYPE html>
    <html lang="en" xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8"/>
        <title>Title</title>
    </head>
    <body>
    <form action="/upload" th:action="@{/upload}" method="post" enctype="multipart/form-data" >
        <label>上传图片</label>
        <input type="file" name="file"/>
        <input type="submit" value="上传"/>
    </form>
    </body>
    </html>
    

    启动项目,访问:localhost:8080,进入上传页面,上传成功会返回图片名称,例如:1234567891.jpg,然后访问http://localhost:8888/picture/1234567891.jpg,可以获取到图片。

    展开全文
  • SpringBoot上传图片到服务器

    千次阅读 2020-01-19 16:51:25
    SpringBoot上传图片并访问自定义映射路径上传接口 自定义映射路径 package com.example.demo.Interceptor; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet...

    SpringBoot上传图片到服务器

    一、自定义映射路径

    package com.example.demo.Interceptor;
    
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    
    @Configuration
    public class ImgHandlerConfig implements WebMvcConfigurer {
    
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            //文件磁盘图片url 映射
            //配置server虚拟路径,handler为前台访问的目录,locations为files相对应的本地路径
            registry.addResourceHandler("/imgs/**").addResourceLocations("classpath:/imgs/");
        }
    }
    

    二、上传接口

    将图片放到类路径下的imgs文件夹中。没有该文件夹则自动创建出来。

    package com.example.demo.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.util.ResourceUtils;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.multipart.MultipartFile;
    
    import javax.servlet.http.HttpServletRequest;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    @Controller
    @RequestMapping("upload")
    public class UploadController {
    
        /**
         *上传图片接口
         */
        @PostMapping("uploadImg")
        @ResponseBody
        public String uploadFile(@RequestParam("fileName") MultipartFile file, HttpServletRequest request) throws FileNotFoundException {
            //判断文件是否为空
            if (file.isEmpty()) {
                return "上传文件不可为空";
            }
    
            // 获取文件名
            String fileName = file.getOriginalFilename();
            fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) +fileName;
    
            //放到类路径下的imgs文件夹中
            String classpath = ResourceUtils.getFile("classpath:").getAbsolutePath();
            String relativePath="/imgs/"+fileName;
            String path=classpath+relativePath;
    
            //创建文件路径
            File dest = new File(path);
            //判断文件是否已经存在
            if (dest.exists()) {
                return "文件已经存在";
            }
            //判断文件父目录是否存在
            if (!dest.getParentFile().exists()) {
                dest.getParentFile().mkdir();
            }
            try {
                //上传文件//保存文件
                file.transferTo(dest);
            } catch (Exception e) {
                return "上传失败";
            }
            //服务器路径
            String serverUrl=request.getRequestURL().toString().replace(request.getRequestURI(),"");
            return serverUrl+relativePath;
        }
    }
    

    上传图片之后直接访问接口返回路径即可。
    springboot默认上传文件最大为1MB。可修改yml配置文件:

    spring:
      servlet:
        multipart:
          max-file-size: 20MB
          max-request-size: 20MB
    
    展开全文
  • springBoot上传图片方法

    2021-06-26 16:52:10
    springBoot上传图片和上传文件方法 //上传图片工具类 public class UploadUtils { //定义一个目标路径,就是我们要把图片上传到的位置 private static final String BASE_PATH="D:\\GZQ\\apache-tomcat-9.0.27\\...
  • layui结合springboot上传图片 今天给大家分享的是如何利用layui实现图片(文件)上传呢? Layui是一款前端ui框架,这个框架最大的特点就是简单易学,我记得第一次用它的时候还在上学,就下载下来试了试,发现是真...
  • springboot 上传图片并回显

    千次阅读 2019-06-14 20:26:09
    这次用的springboot,基本上对上传图片又有了一定的认识,想再这里记录一下。 /** * 上传图片 * * @return */ @RequestMapping(value = "/uploadImages", method = RequestMethod.POST...
  • SpringBoot上传图片保存

    千次阅读 2019-06-24 18:43:07
    * 上传文件时允许上传的最大大小 */ public static final long UPLOAD_MAX_SIZE = 1 * 1024 * 1024; /** * 允许上传的文件类型的集合 */ public static final List<String> UPLOAD_CONTENT_TYPES ...
  • SpringBoot上传图片的流程大概是: 1、用流上传,2、建立文件,保存图片,3、回显配置映射。 我遇到的坑是,win10环境下,本地可以上传图片,也能回显。但是Linux服务器下运行上传成功但是回显图片失败。 其中最...
  • SpringBoot上传图片问题

    万次阅读 2020-06-11 18:49:23
    重点!!!!! 更新:图片的name别用img!!! 谁用谁傻B!!!!!!!
  • 背景:springboot项目上传图片超过1M报错,经了解,springboot默认上传文件1M 需求:更改默认配置,控制上传文件大小 方法:①更改配置文件(经试验不可行,不知道为什么);②更改启动Bean(药到病除) 一、...
  • springboot上传图片后台一直获取不到数据,原因 后台 @RequestMapping(value="/savepicture", method = RequestMethod.POST) public @ResponseBody String savepicture( @RequestParam("file") ...
  • 解决springboot上传图片无法显示问题

    千次阅读 2019-08-27 14:43:45
    前言 springboot版本1.5.x,使用MultipartHttpServletRequest上传图片,权限是token + SpringSecurity 控制api访问;出现的问题是图片可以正常上传,但是无法显示。 pom文件 ...
  • ElementUI+Vue+SpringBoot上传图片

    千次阅读 2019-08-22 21:18:07
    ElementUI+Vue+SpringBoot上传图片 前端界面,这里随便选了一个改了一下 <el-form-item label="用户头像" prop="userHeaderPicture" style="width:400px;margin-left:550px;"> <el-upload class="upload-...
  • springboot上传图片文件

    2018-07-26 16:35:00
    步骤一:基于前面springboot入门小demo ...步骤二:创建uploadPage.jsp上传页面   在jsp目录下新建uploadPage.jsp,需要几点: 1. method="post" 是必须的 2. enctype="multipart/form-data" 是必...
  • * 删除图片 * * @param fullImgpath * @return */ public static boolean delFile(String fullImgpath) { //fullImgpath 是"/pictureUpload/project/" + fileName; File file = new File(fullImgpath); //...
  • 关于SpringBoot上传图片的几种方式 2018年01月04日 15:14:39 wqh3520 阅读数:45089 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wqh8522/article/details/78971260 网站上传...
  • SpringBoot上传图片和IO流的基本操作

    千次阅读 2020-03-02 15:52:33
    我一直都觉得上传图片好复杂,除了本地上传,还有局域网上传,公网上传乱七八糟的,不仅看不懂,还不想学,因为老是觉得本地上传没啥大用处,直到今天,我才看透,什么本地不本地的,统统都是一个套路! 在...
  • SpringBoot 上传图片接口

    千次阅读 2018-12-21 17:41:06
    * 上传图片 * @param IdForm * @return RestResult */ @ControllerLog @ResponseBody @RequestMapping(value = "/uploadImg", method = RequestMethod.POST) public RestResult<Object> uploadImg(@...
  • 为了解决这一缺点,我们只有把图片的路径放到项目外,而springboot集成了映射项目外路径的这一功能。ps:当然目前一些大的项目,会有多个子系统都用到文件上传和下载,这时搭建文件服务器是最好的选择。 上传的实现...
  • SpringBoot上传图片操作

    2019-01-16 18:47:00
    //可选:将图片路径存储起来为了定期清理图片(可以存储到非关系型数据库中,如mongodb) PicturePathDTO dto = new PicturePathDTO(); dto.setPath(images+relativePath+newFileName); dto.setCreateTime(new ...
  • 直播app源代码,SpringBoot 上传图片接口实现的相关代码 yml里参数 menu: img: zipPath: /usr/local/img/menu/ zipUrl: http://39.104.123.82:12604/img/menu/ uploadPath: D:/usr/local/img/upload/ uploadUrl...
  • springboot 上传图片到指定位置 并保存到数据库 ** 自己在开发项目的时候,卡在了上传图片的地方,为了以后可以轻松开发特地记录,也希望看见次文章的人能够少走弯路 废话不多说,上代码 @PostMapping("/upfile/...
  • Springboot上传图片到nginx

    千次阅读 2020-01-04 20:25:02
    springbot上传图片到本地和springmvc的类似,此处不再做介绍。可以参考:https://blog.csdn.net/duan196_118/article/details/103836831 本次介绍上传图片到nginx服务器。 1.编写连接Linux的配置文件,linux....
  • public class UpLoadFileUtil { public String fileName; public static String getFileNameByOriginName(String originName) { String fName = ...记录一下上传图片到服务器的功能,写成个util类下次遇到就直接CV大法
  • 解决SpringBoot上传图片后访问不到的问题 1.问题描述: 后端采用的架构是SpringBoot,前端是JavaScript。 当在前端上传图片之后,上传到指定的idea后端里面(没有使用云存储,存储在本地文件里面) 路径为:resources ...
  • SpringBoot上传图片(多图片上传)

    千次阅读 2019-03-22 16:15:07
    if(files.length ) {//把一次上传图片数限制在3张 for (var i = 0; i ; i++) { var item = files.item(i); var size = item.size; if (size / 1000 ) { //简易大小限制100K curFiles.push(item); } else { ...
  • 直接上代码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,727
精华内容 7,090
关键字:

springboot上传图片

spring 订阅