簡體   English   中英

cxf寧靜返回圖像

[英]cxf restful return image

我是使用CXF和Spring制作RESTful Web服務的新手。 該項目處於Maven控制之下。

我有一個Android應用程序,該應用程序想連接到服務器,以通過RESTful網絡服務檢索書籍信息和封面圖片。 RESTful服務是否可能(以及如何)返回圖像?

項目瀏覽器

Project
--Java Resource
----src/main/java
------library.service
--------IBook.java
--------Book.java
----images
------Cover1.png
------Cover2.png
--JavaResources
--Deployed Resources
----webapp
------WEB-INF
----web-resources

iBook.java接口

@GET
@Path("/book/cover/{name}")
@Produces("image/png")
public Image getImage(@PathParam("name") String name);

Book.java展示

public Image getImage(String name){
    //How should I get cover png from 'images' folder and return it??
}

謝謝

西爾維斯特·龐

您可以通過Response.ok(params ...)。build()返回您選擇的圖像

將您的IBook.java更改為

    @GET
    @Path("/book/cover/{name}")
    @Produces("image/*")
    public Response getImage(@PathParam("name") String name);

還有您的實現接口。

public Response getImage(String name){
    File file = new File(fileUrl);
    String mediaType = SomeContentTypeMapHere(file)
    return Response.ok(file,mediaType).build()
}

編輯

我們已經使用Response.ok(Object type, String mediaType).build()來構建並在調用我們的方法處理程序時返回Response。 第一個參數是一個對象。 認為這是當某人/某人在給定的url上發送請求時我們將要發送的東西,而mediaType基本上是我們要去的內容類型(例如,“ image / png,image / jpg等”)發送。

請記住將@Produces("image/*")與您在ok(Object entity, String mediaType方法@Produces("image/*")傳遞的內容類型進行ok(Object entity, String mediaType

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM