java webservice上传下载文件代码分享

网友投稿 188 2023-07-08


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()

+ "\\";

DyyNQswitch (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)

DyyNQ{

System.out.println(ex.getMessage());

return "";

}

}

}

2、发布测试webservice(eclihttp://pse Java EE IDE)

右键刚才建立的类,现在webservice-->create webservice,webservice type 选择bottom upjava bean web service,service implementation 选择目标类,下一步选择要发布公开的方法接口,直到完成,tomcat已启动,右键刚生成的wsdl文件夹里面的wsdl文件,选择测试webservice,输入对应方法的参数即可。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java多线程之异步Future机制的原理和实现
下一篇:浅谈常用字符串与集合类转换的工具类
相关文章

 发表评论

暂时没有评论,来抢沙发吧~