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,输入对应方法的参数即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。