欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-13 21:12:34
本文实例为大家分享了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,输入对应方法的参数即可。

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