參考文獻: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寫的