Q
SpringBoot项目中,如果要调取项目下的静态文件资源,要怎么做?
A
如果静态资源放在src/main/resources下,如图:
调用方式,以Service为例,SystemServiceImpl.java如下
@Service("systemService") @Transactional(readOnly = false) @Repository public class SystemServiceImpl implements ISystemService { @Resource(name = "systemDao") private ISystemDao systemDao; @Autowired private Environment env; @Value(value = "classpath:/assets/default_portrait.jpg") private org.springframework.core.io.Resource defaultPortraitJPG; // 其他代码省略 public void someMethod() { // 读取静态文件default_portrait.jpg // defaultPortraitJPG 这个Resource方法有getFile() getInputStream() // 例如 byte[] data = IOUtils.toByteArray(defaultPortraitJPG.getInputStream()) } }
如果你还有MVC架构,静态资源放在src/main/webapp/WEB-INF/下,那么这样调用
@Value(value = "/WEB-INF/templates/class_checkin.html") private org.springframework.core.io.Resource clazzCheckinHtml;
文章评论