程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java webservice上傳下載文件代碼分享

java webservice上傳下載文件代碼分享

編輯:關於JAVA

java webservice上傳下載文件代碼分享。本站提示廣大學習愛好者:(java webservice上傳下載文件代碼分享)文章只能為提供參考,不一定能成為您想要的結果。以下是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()
        + "\\";
    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,輸出對應辦法的參數便可。

以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved