在实际项目中,我们很多时候需要把图片保存起来,方式有很多种,最简便的方法就是使用第三方的服务,比如阿里云、腾讯、七牛云、网易云信等都提供了图片的镜像存储,能轻松存储图片,我之前写过七牛云的图片存储,有兴趣的同学可以去看一下。
今天我要总结的东西是如何将文件上传到自己的服务器并且访问。
当我们安装好Tomcat和Nginx的时候,在其安装目录下面都会有一个根目录,Tomcat的根目录是 /var/www/html/,而Nginx是 /usr/local/nginx/html/,
我们在这两个文件夹下建一个image目录,通过IP地址+/image/图片名的方式就可以直接访问到
public static final String FEEDBACK_IMAGE_PATH = "http://120.55.56.100/nnuimage/"; public static final String FEEDBACK_IMAGE_URL = "/var/www/html/nnuimage/";
在这里也简单提供一个上传工具类:
package com.bztech.core.common.utils; import cn.hutool.core.date.DateUtil; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.util.Date; import java.util.UUID; /** * @author chenjian * * 上传工具 */ public class UploadUtils { /** * * @param multipartFile 文件 * @param uploadPathPrefix 文件上传路径 * @param prefix 文件前缀名 * @return 文件名 * @throws IOException */ public static String upload(MultipartFile multipartFile,String uploadPathPrefix,String prefix) throws IOException { //文件的后缀名 String suffix = multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf(".")); //存储于数据库中的文件名构造 String fileName = new StringBuffer() //文件名前缀 .append(prefix) .append(UUID.randomUUID()) .append(DateUtil.format(new Date(), "yyyyMMddHHmmss")) .append(suffix) .toString(); //文件上传 File file = new File(uploadPathPrefix + fileName); multipartFile.transferTo(file); return fileName; } }
原文地址:https://www.cnblogs.com/chenzhengwei/p/10943423.html
时间: 2024-11-07 00:02:31