Trả về tập tin hình ảnh hoặc PDF với RESTEasy
Java
155
restful
13
White

vanduc1102 viết ngày 23/05/2015

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 ảnhPDF vào trong CSDL.

Yêu cầu là khi đánh các request lên trình duyệt:

@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


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

vanduc1102

3 bài viết.
1 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
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...
vanduc1102 viết 4 năm trước
17 3
White
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', ...
vanduc1102 viết hơn 4 năm trước
7 2
Bài viết liên quan
White
0 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...
programmerit viết 4 năm trước
0 0
White
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...
https://loda.me viết 3 tháng trước
0 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
3 bài viết.
1 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!