java webservice上传下载文件代码分享
程序员文章站
2024-03-13 12:14:45
本文实例为大家分享了java webservice上传下载文件代码,供大家参考,具体内容如下
1、新建动态web工程youmefileserver,新建包com,里面新建...
本文实例为大家分享了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,输入对应方法的参数即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。