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,输入对应方法的参数即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。
更多java webservice上传下载文件代码分享相关文章请关注PHP中文网!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。
