首页 > 编程 > Java > 正文

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

2019-11-26 13:56:01
字体:
来源:转载
供稿:网友

本文实例为大家分享了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,输入对应方法的参数即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表