簡體   English   中英

Java Web服務允許大文件流

[英]Java web services to allow large file streaming

我正在構建一個Java Web服務服務器,該服務器需要擴展並且高度可用。 用戶可以通過該服務上傳大文件(約20M)。 SOAP是首選。

我的問題是:是否有支持大型文件流傳輸的Web服務框架? 我應該考慮的任何構建基塊嗎? 有什么好的做法嗎?

任何想法將不勝感激。 謝謝。

如果您需要高性能,則Web服務不是很好。

您可以嘗試(流式傳輸SOAP附件):

File:ImageServer.java //服務端點接口

package com.mkyong.ws;     
import java.awt.Image; 
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;



@WebService
@SOAPBinding(style = Style.RPC)
public interface ImageServer{

    //download a image from server
    @WebMethod Image downloadImage(String name);

    //update image to server
    @WebMethod String uploadImage(Image data);

}

//File : ImageServerImpl.java
package com.mkyong.ws;

import java.awt.Image;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.jws.WebService;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.soap.MTOM;

//Service Implementation Bean
@MTOM
@WebService(endpointInterface = "com.mkyong.ws.ImageServer")
public class ImageServerImpl implements ImageServer{

    @Override
    public Image downloadImage(String name) {

        try {

            File image = new File("c:\\images\\" + name);
            return ImageIO.read(image);

        } catch (IOException e) {

            e.printStackTrace();
            return null; 

        }
    }

    @Override
    public String uploadImage(Image data) {

        if(data!=null){
            //store somewhere
            return "Upload Successful";
        }

        throw new WebServiceException("Upload Failed!");

    }

}

暫無
暫無

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

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