业务流程大概是这样的:在Springboot框架下,使用form提单提交用户注册信息,包括图片。图片被保存到服务器上,把图片保存的路径作为属性存入数据库。之后,显示用户信息的时候,通过Ajax获取用户信息,将图片的路径赋值给<Img>的src属性。
但是这里存在一个问题,就是图片的路径是绝对路径,如果给src的话,会产生跨域问题,显示不出来。
这里使用一个小技巧,在保存图片时,获取项目的真实路径
ResourceUtils.getURL("classpath:").getPath()
然后拼接,加“static/自定义路径”。这样就把图片保存到了项目的静态资源下边。然后把static/以后的路径截取下来保存到用户信息中,这个路径就是项目获取图片的相对路径
代码如下:
图片工具类:
@Slf4j
public class FileUtils {
public static String saveUserImg(MultipartFile file) throws IOException {
File outfile = null;
try {
BufferedOutputStream out = null;
String filename = createRandomName() + "." + file.getOriginalFilename().split("[.]")[1];
outfile = new