java編寫Web Service,含大文件上傳例子


參考文獻:http://www.eclipse.org/webtools/community/tutorials/BottomUpAxis2WebService/bu_tutorial.html

這篇文章寫的非常齊全,唯一在問題出在啟動服務器后找不到網頁,正確的網址應該是

http://localhost:8080/Axis2WSTest/axis2-web

java編寫Web Service代碼,含文件大文件上傳例子

下載:http://code.google.com/p/minioa/downloads/detail?name=Axis2WSTest.zip&can=2&q=

基本步驟:

1、首先創建一個Web項目

2、添加axis視圖

3、創建一個java類

4、選擇這個java,然后New 創建一個web service,按照向導配置

5、run as ......

上傳單個文件代碼,值得注意的是當上傳文件超過5M時就提示java.lang.outmemoryerror,需要就要考慮分割上傳文件,到服務器端再合並

 

 

public void uploadImage(String filename, byte[] file) {
    try {
        FileOutputStream fos = null;
        fos = new FileOutputStream(filename);   
        fos.write(file);
        fos.close();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

 

合並文件

 

public int buildFile(String fileName,int num) {
    try{
        int i = 0;
        FileOutputStream fos = null;
        fos = new FileOutputStream(fileName); 
        while(num >=0){
            BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream(fileName + i));
            byte[] bytes = new byte[(int)(new java.io.File(fileName + i)).length()];
            bufferedInputStream.read(bytes);
            bufferedInputStream.close();
            fos.write(bytes);
            num--;
            i++;
        }
        fos.close();
        //刪除文件
        while(i >=0){
            java.io.File f= new java.io.File(fileName + i);
            f.delete();
            i--;
        }
        return 1;
    }catch(Exception ex){ex.printStackTrace();}
    return -1;
}

客戶端是用.net winform寫的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM