提交 a207f824 authored 作者: Matrix's avatar Matrix

feat(文件系统): 文件了文件映射目录 网页html文件放到根目录下的htmls文件下的

上级 8a95da21
HELP.md
target/
htmls/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
......
package org.matrix.fs.controller;
import javafx.scene.control.Alert;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.io.InputStreamResource;
import org.springframework.core.io.UrlResource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
/**
* FileSysController.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2022/3/17 at 2:49 PM
* Suffering is the most powerful teacher of life.
*/
@Slf4j
@RestController
@RequestMapping
public class FileSysController {
@GetMapping("/report/{fileName}")
public ResponseEntity downloadAlertWeb(HttpServletRequest request,
@PathVariable String fileName) {
//1.拼接 - > url
String fileUrl = "file:" + System.getProperty("user.dir") + "/htmls/" +fileName;
try {
UrlResource resource = new UrlResource(fileUrl);
HttpHeaders headers = new HttpHeaders();
headers.add("Cache-Control", "no-cache, no-store, must-revalidate");
headers.add("Content-Disposition",
"inline;filename=\"" + fileName + "\"");
headers.add("Pragma", "no-cache");
headers.add("Expires", "0");
String contentType = request.getServletContext().getMimeType(resource.getFile().getAbsolutePath());
return ResponseEntity.ok().headers(headers).contentLength(resource.contentLength())
.contentType(MediaType.parseMediaType(contentType))
.body(new InputStreamResource(resource.getInputStream()));
} catch (IOException e) {
log.info("[文件模块] 没有读取到文件名 = {},文件地址 = {} 的文件",fileName,fileUrl);
HttpHeaders falseHeaders = new HttpHeaders();
falseHeaders.add("Cache-Control", "no-cache, no-store, must-revalidate");
falseHeaders.add("Content-Disposition", "inline;filename=\"" + "404.jpg" + "\"");
falseHeaders.add("Pragma", "no-cache");
falseHeaders.add("Expires", "0");
return ResponseEntity.ok().headers(falseHeaders).contentType(MediaType.parseMediaType("image/jpeg"))
.body("没有找到该资源");
}
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论