SpringBoot 代理文件服务

109 阅读1分钟
@Component
public class NonStaticResourceHandler extends ResourceHttpRequestHandler {
    public final static String ATTR_FILE = "NON-STATIC-FILE";

    @Override
    protected Resource getResource(HttpServletRequest request) {
        final String filePath = request.getAttribute(ATTR_FILE).toString();
        return new FileSystemResource(filePath);
    }
}
try {
    request.setAttribute(NonStaticResourceHandler.ATTR_FILE, metadata.getPath());
    nonStaticResourceHandler.handleRequest(request, response);
} catch (ServletException | IOException e) {
    log.error("文件预览异常: ", e);
}