SpringBoot 利用MultipartFile上传本地图片生成图片链接的实现方法

网友投稿 249 2023-01-24

SpringBoot 利用MultipartFile上传本地图片生成图片链接的实现方法

方法一

实现类:

public String fileUpload(MultipartFile file) {

if(file == null){

return null;

}

String fileName = file.getOriginalFilename();

fileName = FileUtil.renameToUUID(fileName);

//自定义保存到本地路径

String uploadpath = "D:/image/";

try{

FileUtil.uploadFiles(file.getBytes(), uploadpath,fileName);

}catch (Exception e){

throw new SignException(001,"图片上传出错"+uploadpath);

}

//localhost:8080

String url = "/static/" + fileName;

return url;

}

工具类:

public class FileUtil {

//图片上传

public static void uploadFiles(byte[] file, String filePath, String fileName) throws Ehttp://xception {

File targetFile = new File(filePath);

if (!targetFile.exists()) {

tahttp://rgetFile.mkdirs();

}

http:// FileOutputStream out = new FileOutputStream(filePath + fileName);

out.write(file);

out.flush();

out.close();

}

//创建新的文件名

public static String renameToUUID(String fileName) {

return UUID.randomUUID() + "." + fileName.substring(fileName.lastIndexOf(".") + 1);

}

}

浏览器输入ip地址端口号+自己的生成url就可以访问了:

localhost:8080/ + url

方法二:

配置文件

#=============文件上传========#

# 文件访问路径

file.path=/upload/**

# 静态资源文件访问路径

file.staticPath=/upload

#文件保存的绝对路径

file.address=d://springbootimage/

#是否支持 multipart 上传文件

spring.servlet.multipart.enabled=true

#最大支持文件大小

spring.servlet.multipart.max-file-size=30MB

#最大支持请求大小

spring.servlet.multipart.max-request-size=30MB

//获取图片上传的配置路径

@Value("${file.address}")

String fileAdress;

//用户访问的图片路径

@Value("${file.staticPath}")

String upload;

@RequestMapping("/upload")

@ResponseBody

public String upload(MultipartFile file){

try {

//定义上传文件的前缀

String pre = "";

//保证文件上传后 存到服务器的文件名的唯一性

pre = UUID.randomUUID()+"";

//获取文件的后缀名

String suffix = "";

if(file != null){

//.jpg

String originalName = file.getOriginalFilename();

suffix= originalName.substring(originalName.lastIndexOf(".")+1);

}

//文件名

String fileName = pre+suffix;

//定义 文件上传的全路径

String filePath = fileAdress + "\\" + fileName ;

//创建file对象

File f = new File(filePath);

//目录是否存在,不存在则创建

if(!f.isDirectory()){

f.mkdirs();

}

//上传文件

file.transferTo(f);

String url = upload+fileName ;

return url;

} catch (IOException e) {

e.printStackTrace();

}

return "上传失败";

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:记一次用IDEA打开java项目后不能运行的解决方法
下一篇:开放api接口开发平台(API开放平台)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~