Xóa bài viết
Bạn có chắc chắn muốn xóa bài viết này không ?
Xóa bình luận
Bạn có chắc chắn muốn xóa bình luận này không ?
Trả về tập tin hình ảnh hoặc PDF với RESTEasy
Mình đang làm một RESTful server, dùng RESTEasy trên Java.
Server này sẽ lưu trữ các tập tin như hình ảnh và PDF vào trong CSDL.
Yêu cầu là khi đánh các request lên trình duyệt:
- http://localhost/rest/document/1/thumbnail --> Hiển thị ảnh.
- http://localhost/rest/document/1/file --> Hiển thị tập tin PDF.
@Path("media")
@Stateless
public class MediaRestService {
private final static org.slf4j.Logger log = LoggerFactory.getLogger(MediaRestService.class);
@EJB
private ThumbnailServices thumbnailService;
@EJB
private DocumentServices docServices;
@Path("document/{id}/thumbnail")
@GET
@Produces("image/jpg")
public Response findThumbnail(@PathParam("id") String id) {
// Read the content of file from DB.
String base64Content = thumbnailService.getThumbnail(id);
byte[] imageData = IOUtils.convertToBytesFromBase64(base64Content,"jpg");
return Response.ok(new ByteArrayInputStream(imageData)).build();
}
@GET
@Path("document/{id}/file")
@Produces("application/pdf")
public Response findDocumentPDF(@PathParam("id") String documentId) {
byte[] bytes = null;
// Read the content of file from DB.
bytes = org.apache.commons.io.IOUtils.toByteArray(docServices.fileContent(documentId));
return Response.ok(new ByteArrayInputStream(bytes)).build();
}
}
Nguyên tắc:
- Set header trả về là kiểu tập tin image/jpg, application/pdf ... bằng
@Produces("")
- Dữ liệu trả về dưới dạng nhị phân
Response.ok(new ByteArrayInputStream(bytes)).build();
Sau đó trình duyệt sẽ tự động hiển thị tập tin.
Bình luận

{{ comment.user.name }}
Bỏ hay
Hay

Cùng một tác giả

17
3
Bài viết dịch từ : http://videlalvaro.github.io/2014/02/whyyoushouldlearnerlang.html Với tất cả các lùm xùm về việc WhatsApp bị mua lại bởi Faceb...

7
2
Trong AngularJS Chúng ta có thể sử dụng ngClass để kiểm tra điều kiện khi sử dụng Class trong CSS : javascript ngclass="{true:'displaybutton', ...
Bài viết liên quan

2
0
Trong bài viết này, một số hình ảnh hoặc nọi dung có thể bị thiếu do quá trình chế bản. Vui lòng xem nội dung ở blog gốc sau: (Link) (Link), chúng...

0
0
Giới thiệu Trong bài hôm nay chúng ta sẽ tìm hiểu cách handle request POST của Spring Boot. Trước đó, bạn nên biết 1. 「Spring Boot 8」Tạo Web He...