package com.iplatform.file.config; import com.iplatform.base.Constants; import com.iplatform.base.config.FileProperties; import com.iplatform.core.PlatformConfiguration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * 专门为本地文件能被web访问的映射配置。 *

注意:该配置仅针对本地文件,其他FTP或OSS方式请通过第三方链接访问文件。

* @author 时克英 * @date 2023-06-09 */ @Configuration public class FileWebConfig extends PlatformConfiguration implements WebMvcConfigurer { private FileProperties fileProperties; @Autowired public FileWebConfig(FileProperties fileProperties){ this.fileProperties = fileProperties; } /** * 添加文件浏览映射,如:file:D://images/ * @param registry * @date 2023-06-09 */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // 平台上传的文件,可通过相对路径浏览。 // 注意:这里必须添加前缀'file:',否则会无法映射成功!2023-06-09 String fileStorePath = "file:" + this.fileProperties.getFileRoot(); registry.addResourceHandler(Constants.FILE_CONTEXT_PATH_MAPPING).addResourceLocations(fileStorePath); logger.info("映射:{}, 本地路径:{}", Constants.FILE_CONTEXT_PATH_MAPPING, fileStorePath); } }