java webservice上传下载文件代码分享
本文实例为大家分享了javawebservice上传下载文件代码,供大家参考,具体内容如下
1、新建动态web工程youmeFileServer,新建包com,里面新建类FileProgress
packagecom; importjava.io.FileInputStream; importjava.io.FileOutputStream; importjava.io.IOException; importjava.sql.Date; importjava.text.SimpleDateFormat; importjava.util.Random; importsun.misc.BASE64Decoder; importsun.misc.BASE64Encoder; /* *webservcie上传下载文件 */ publicclassFileProgress { publicStringsayHello(Stringname) { return"Hello,"+name+"\n"+getdir("2"); } /* *文件上传服务 */ publicStringuploadFile(StringfileName,Stringfiletype,Stringfile)//byte[]bytes) { FileOutputStreamfos=null; try { Stringfiledir=getdir(filetype); BASE64Decoderdecoder=newBASE64Decoder(); byte[]bytes=decoder.decodeBuffer(file); if(filedir=="") { return""; } Integerrdm=newRandom().nextInt(10000); Stringsavename=getDataTimeString(true)+rdm.toString()+fileName.substring(fileName.indexOf('.')); fos=newFileOutputStream(filedir+savename); //将字节数组bytes中的数据,写入文件输出流fos中 fos.write(bytes); fos.flush(); returnfiledir+savename; } catch(Exceptione) { e.printStackTrace(); return""; } finally { try { fos.close(); } catch(IOExceptione) { e.printStackTrace(); } } } /** *@paramfilepath */ privateStringgetdir(Stringfiletype) { Stringpath="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.Filefile=newjava.io.File(path); if(!file.exists()) { if(!file.mkdirs()) { return""; } } returnpath; } catch(Exceptionex) { return""; } finally { } } /* *文件下载服务 */ publicStringdownloadFile(Stringfilepath) { //filepath="F:\\youme\\vedio\\2013-09-03\\201309031700143294.amr"; FileInputStreamin=null; bytebytes[]=null; Stringfile=null; try { in=newFileInputStream(filepath); bytes=newbyte[in.available()]; //从输入流in中,将bytes.length个字节的数据读入字节数组bytes中 in.read(bytes); BASE64Encoderencoder=newBASE64Encoder(); file=encoder.encode(bytes); } catch(Exceptione) { e.printStackTrace(); return""; } finally { try { in.close(); } catch(IOExceptione) { e.printStackTrace(); } } //returnbytes; returnfile; } /* *获取当前时间 */ privatestaticStringgetDataTimeString(Booleanisfilename) { try { SimpleDateFormatformatter=null; if(!isfilename) { formatter=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); } else { formatter=newSimpleDateFormat("yyyyMMddHHmmss"); } DatecurDate=newDate(System.currentTimeMillis());//获取当前时间 returnformatter.format(curDate); } catch(Exceptionex) { System.out.println(ex.getMessage()); return""; } } /* *获取当前日期 */ privatestaticStringgetDataString() { try { SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd"); DatecurDate=newDate(System.currentTimeMillis());//获取当前时间 returnformatter.format(curDate); } catch(Exceptionex) { System.out.println(ex.getMessage()); return""; } } }
2、发布测试webservice(eclipseJavaEEIDE)
右键刚才建立的类,现在webservice-->createwebservice,webservicetype选择bottomupjavabeanwebservice,serviceimplementation选择目标类,下一步选择要发布公开的方法接口,直到完成,tomcat已启动,右键刚生成的wsdl文件夹里面的wsdl文件,选择测试webservice,输入对应方法的参数即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。