java webservice上傳下載文件代碼分享。本站提示廣大學習愛好者:(java webservice上傳下載文件代碼分享)文章只能為提供參考,不一定能成為您想要的結果。以下是java webservice上傳下載文件代碼分享正文
本文實例為年夜家分享了java webservice上傳下載文件代碼,供年夜家參考,詳細內容以下
1、新建靜態web工程youmeFileServer,新建包com,外面新建類FileProgress
package com; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.Random; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; /* * web servcie 上傳下載文件 */ public class FileProgress { public String sayHello(String name) { return "Hello," + name+"\n"+getdir("2"); } /* * 文件上傳辦事 */ public String uploadFile(String fileName, String filetype, String file)//byte[] bytes) { FileOutputStream fos = null; try { String filedir = getdir(filetype); BASE64Decoder decoder= new BASE64Decoder(); byte[] bytes = decoder.decodeBuffer(file); if(filedir=="") { return ""; } Integer rdm = new Random().nextInt(10000); String savename = getDataTimeString(true) +rdm.toString()+fileName.substring(fileName.indexOf('.')); fos = new FileOutputStream(filedir+savename); // 將字節數組bytes中的數據,寫入文件輸入流fos中 fos.write(bytes); fos.flush(); return filedir +savename; } catch (Exception e) { e.printStackTrace(); return ""; } finally { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } /** * @param filepath */ private String getdir(String filetype) { String path = "F:\\youme\\{0}\\" + getDataString() + "\\"; switch (filetype) { case "2": path = path.replace("{0}", "image"); break; case "3": path = path.replace("{0}", "vedio"); break; default: return ""; } try { java.io.File file = new java.io.File(path); if(!file.exists()) { if(!file.mkdirs()) { return ""; } } return path; } catch(Exception ex) { return ""; } finally { } } /* * 文件下載辦事 */ public String downloadFile(String filepath) { // filepath = "F:\\youme\\vedio\\2013-09-03\\201309031700143294.amr"; FileInputStream in = null; byte bytes[] = null; String file = null; try { in = new FileInputStream(filepath); bytes = new byte[in.available()]; // 從輸出流in中,將 bytes.length 個字節的數據讀入字節數組bytes中 in.read(bytes); BASE64Encoder encoder = new BASE64Encoder(); file = encoder.encode(bytes); } catch (Exception e) { e.printStackTrace(); return ""; } finally { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } // return bytes; return file; } /* * 獲得以後時光 */ private static String getDataTimeString(Boolean isfilename) { try { SimpleDateFormat formatter = null; if(!isfilename) { formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); } else { formatter= new SimpleDateFormat("yyyyMMddHHmmss"); } Date curDate = new Date(System.currentTimeMillis());//獲得以後時光 return formatter.format(curDate); } catch(Exception ex) { System.out.println(ex.getMessage()); return ""; } } /* * 獲得以後日期 */ private static String getDataString() { try { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date curDate = new Date(System.currentTimeMillis());//獲得以後時光 return formatter.format(curDate); } catch(Exception ex) { System.out.println(ex.getMessage()); return ""; } } }
2、宣布測試webservice(eclipse Java EE IDE)
右鍵適才樹立的類,如今webservice-->create webservice,webservice type 選擇bottom upjava bean web service,service implementation 選擇目的類,下一步選摘要宣布地下的辦法接口,直到完成,tomcat已啟動,右鍵剛生成的wsdl文件夾外面的wsdl文件,選擇測試webservice,輸出對應辦法的參數便可。
以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。