springBoot 上传文件到服务器,头像预览功能

sprijngBoot 2.x版本不需要添加依赖包,soringBoot以及集成好了

一: 上传文件 controller接受层

 

@PostMapping(value = "/fileUpload")public String fileUpload(@RequestParam(value = "file") MultipartFile file, ModelMap model, HttpServletRequest request) {    if (file.isEmpty()) {        System.out.println("文件为空空");    }    String fileName = updateFile(request, file);    model.put("fileName",fileName);    return "update";}

/***上传到服务器的方法*/
private String updateFile(HttpServletRequest request,MultipartFile files) {            MultipartFile file = files;            if (!file.isEmpty()){                try {                    // 保存的文件路径(如果用的是Tomcat服务器,文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\upload\\文件夹中                    // )                    String filePath = request.getSession().getServletContext()                            .getRealPath("/")                            + "upload/" + file.getOriginalFilename();

                    File saveDir = new File(filePath);                    if (!saveDir.getParentFile().exists()){                        saveDir.getParentFile().mkdirs();                    }                    // 转存文件 保存到服务器地址上,路径在filePath                    file.transferTo(saveDir);                    /**请求图片服务器 返回字符串                     * */                    //得到图片全名                    String originalFilename = file.getOriginalFilename();                    int i1 = originalFilename.indexOf(".");                    String suffix = "";                    if (i1 != 0){                        suffix = originalFilename.substring(i1+1);                    }else {                        suffix = "jpg";                    }

//                    String fileId = fileService.uploadWithGroup(//                            FileCopyUtils.copyToByteArray(saveDir), FastDfsGroup.PRI_FILE, suffix);                    String absolutePath = saveDir.getAbsolutePath();                    String canonicalPath = saveDir.getCanonicalPath();                    System.out.println(absolutePath+"---"+canonicalPath);            //absolutePath是文件的绝对路径,下面jsp中,预览头像时,需要回传到getUserLogo 接口中                    return absolutePath;                } catch (Exception e) {                    e.printStackTrace();                }            }return null;        }

二: jsp页面  
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>Title</title></head><body><form action="/recruit/hr/fileUpload" method="post" enctype="multipart/form-data">    <label>上传图片</label>    <input type="file" name="file"/>    <input type="submit" value="上传"/></form><p>图片:</p><img src="/recruit/hr/getUserLogo?path=${fileName}" style="width: 73px;height: 73px"/></body></html>

三:头像预览接口
/** * 获取头像 * */@RequestMapping("/getUserLogo")public void getUserLogo(HttpServletRequest request,                        HttpServletResponse response, String path) {    response.setContentType("image/jpeg"); // 设置返回内容格式    File file = new File(path); // 括号里参数为文件图片路径    if (file.exists()) { // 如果文件存在        InputStream in;        try {            in = new FileInputStream(file);            OutputStream os = response.getOutputStream(); // 创建输出流            byte[] b = new byte[1024];            while (in.read(b) != -1) {                os.write(b);            }            in.close();            os.flush();            os.close();        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }}

  

原文地址:https://www.cnblogs.com/quzhongren/p/11057809.html

时间: 2024-10-07 08:52:27

springBoot 上传文件到服务器,头像预览功能的相关文章

关于js上传文件的校验以及预览

花了一上午的时间理了下思路,整理了下上传方面的问题.主要是关于格式的校验以及大小和数量的校验,可能有部分缺失,望大家提出,及时修正. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>文件上传测试</title> <style

SpringBoot 上传文件到linux服务器 异常java.io.FileNotFoundException: /tmp/tomcat.50898……解决方案

SpringBoot 上传文件到linux服务器报错java.io.FileNotFoundException: /tmp/tomcat.50898-- 报错原因: 解决方法 java.io.IOException: java.io.FileNotFoundException: /tmp/tomcat.5089835798184465073.8081/work/Tomcat/localhost/ROOT/www/server/apache-tomcat-8.5.32/webapps/jxmsto

在php上传文件到服务器

创建一个文件上传表单 允许用户从表单上传文件是非常有用的. 先制作供上传文件的 HTML 表单: <form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型.在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data". <input> 标签的 type="file" 属性规定了应该把输入作为文件来处理.举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮. 注释:允许用户上传文件是一个

利用put上传文件到服务器

#import "KUViewController.h" #import "KUProgress.h" @interfaceKUViewController ()<NSURLSessionTaskDelegate> //下载进度的类,继承UIview @property (weak, nonatomic) IBOutlet  KUProgress *progressView; @end @implementation KUViewController -

本地上传文件到服务器,从服务器下载文件到本地

最近在做项目的时候涉及到了文件的上传.下载,以前学习IO时也没有搞得多清楚,在网上找了些上传下载的例子,然后修改了部分.经测试,上传下载文件暂时能用,下面是上传和下载的方法: 1.本地上传文件到服务器 html代码: <form id="uploadDatumInfo" name="uploadDatumInfo" method="post" enctype="multipart/form-data" target=&q

Android上传文件至服务器(转)

本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理:采用Android+Struts2技术. 一.Android端实现文件上传 1).新建一个Android项目命名为androidUpload,目录结构如下: 2).新建FormFile类,用来封装文件信息 package com.ljq.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExce

put上传文件的服务器的配置

1,HTTP常见的方法 GET 获取指定资源 POST 2M 向指定资源提交数据进行处理请求,在RESTful风格中用于新增资源 HE A D 获取指定资源头部信息PUT 替换指定资源(不支持浏览器操作) DELETE 删除指定资源   2,配置服务器的put请求方式:   1> n 打开终端p cd /etc/apache2p sudo vim httpd.conf n 在vim中输入p /httpd-dav.conf? 查找httpd-dav.confp 按0将光标移动至行首p 按x将行首的

C# FTP上传文件至服务器代码

C# FTP上传文件至服务器代码 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo">需要上传的文件</param> /// <param name="targetDir">目标路径</param> /// <param name="hostname">ftp地址</param&g

php上传文件到服务器 (注意权限)

表单<input type="file" name="upload_pic"> php上传文件到服务器,注意需要获取权限: if($_FILES['upload_pic']['size'] > 0) { $file_path=dirname(__FILE__); //文件目录 $file_path=str_replace('\\','/',substr($file_path,0,strpos($file_path,'application'))).