Commit d3260390 by 袁伟铭

1.0.0

parent 4ac12957
package com.zq.file.controller; package com.zq.file.controller;
import com.zq.common.utils.AssertUtils;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource; import org.springframework.core.io.Resource;
...@@ -11,12 +12,10 @@ import org.springframework.web.bind.annotation.GetMapping; ...@@ -11,12 +12,10 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.awt.image.BufferedImage; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
@Api(tags = "访问图片文件") @Api(tags = "访问图片文件")
@RestController @RestController
...@@ -25,9 +24,13 @@ public class AccessController { ...@@ -25,9 +24,13 @@ public class AccessController {
@GetMapping(value = "/images/**", produces = MediaType.IMAGE_JPEG_VALUE) @GetMapping(value = "/images/**", produces = MediaType.IMAGE_JPEG_VALUE)
public byte[] getImage(HttpServletRequest request) throws IOException { public byte[] getImage(HttpServletRequest request) throws IOException {
FileInputStream inputStream = new FileInputStream(request.getRequestURI()); File file = new File(request.getRequestURI());
AssertUtils.isTrue(file.exists(), "图片不存在");
FileInputStream inputStream = new FileInputStream(file);
byte[] bytes = new byte[inputStream.available()]; byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes, 0, inputStream.available()); inputStream.read(bytes, 0, inputStream.available());
inputStream.close();
return bytes; return bytes;
} }
...@@ -40,6 +43,9 @@ public class AccessController { ...@@ -40,6 +43,9 @@ public class AccessController {
@GetMapping(value = "/file/**") @GetMapping(value = "/file/**")
public ResponseEntity<Resource> download(HttpServletRequest request) { public ResponseEntity<Resource> download(HttpServletRequest request) {
File file = new File(request.getRequestURI());
AssertUtils.isTrue(file.exists(), "文件不存在");
String contentDisposition = ContentDisposition String contentDisposition = ContentDisposition
.builder("attachment") .builder("attachment")
.filename(request.getRequestURI()) .filename(request.getRequestURI())
...@@ -47,6 +53,6 @@ public class AccessController { ...@@ -47,6 +53,6 @@ public class AccessController {
return ResponseEntity.ok() return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, contentDisposition) .header(HttpHeaders.CONTENT_DISPOSITION, contentDisposition)
.contentType(MediaType.APPLICATION_OCTET_STREAM) .contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(new FileSystemResource(request.getRequestURI())); .body(new FileSystemResource(file));
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment