簡體   English   中英

分塊發送大圖像

[英]Sending Large Image in chunks

我正在將圖像從我的android客戶端發送到java jersey restful service,但我成功完成了。但是我的問題是,當我嘗試發送大於1MB的大圖像時,它消耗了更多的時間,所以我想在CHUNKS中發送圖像, 有人可以幫我在執行此操作時。如何將CHUNKS中的( POST )圖像流發送到服務器

使用的參考:

  • 服務器代碼和客戶端調用
  • 服務器功能名稱

     /*** SERVER SIDE CODE****/ @POST @Path("/upload/{attachmentName}") @Consumes(MediaType.APPLICATION_OCTET_STREAM) public void uploadAttachment( @PathParam("attachmentName") String attachmentName, @FormParam("input") InputStream attachmentInputStream) { InputStream content = request.getInputStream(); // do something better than this OutputStream out = new FileOutputStream("content.txt"); byte[] buffer = new byte[1024]; int len; while ((len = in.read(buffer)) != -1) { // whatever processing you want here out.write(buffer, 0, len); } out.close(); return Response.status(201).build(); } /**********************************************/ /** CLIENT SIDE CODE **/ // ..... client.setChunkedEncodingSize(1024); WebResource rootResource = client.resource("your-server-base-url"); File file = new File("your-file-path"); InputStream fileInStream = new FileInputStream(file); String contentDisposition = "attachment; filename=\\"" + file.getName() + "\\""; ClientResponse response = rootResource.path("attachment").path("upload").path("your-file-name") .type(MediaType.APPLICATION_OCTET_STREAM).header("Content-Disposition", contentDisposition) .post(ClientResponse.class, fileInStream); 

您應該在客戶端中拆分文件,然后在服務器中還原文件的一部分。 然后,您應該將文件合並在一起。 看看coderanch上的split / merge文件

請享用 ! :)

還有另一種方法,如果您不想編寫太多代碼,請考慮使用:很棒的文件上傳apache :)

暫無
暫無

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

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