springboot实现图片的上传:
①.本地开发图片保存的位置是在target/classes/*文件下面
②.部署到服务器上,图片保存的位置是jar同级目中
实现图片的访问:
因为当项目部署到服务器的时候,访问图片要访问classes文件夹,只需要修改一下配置文件,就可以访问到图片。
import org.springframework.context.annotation.Configuration;
import org.springframework.util.ResourceUtils;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Configuration
public class FileHandleConfig extends WebMvcConfigurationSupport {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//System.getProperty("user.dir") 获取到当前jar的所在路径
String property ="File:"+ System.getProperty("user.dir")+"/classes/static/images/";
//所以当需要访问上传的图片时,url路径为:http://你的服务器IP:8080/images/book/1.jpg
registry.addResourceHandler("/images/**").addResourceLocations(property);
registry.addResourceHandler("/**").
addResourceLocations(ResourceUtils.CLASSPATH_URL_PREFIX + "/static/");
super.addResourceHandlers(registry);
}
}
当然在本地调试的时候,访问的路径是:localhost:8080/pzlib/images/book/xxx.jpg.