一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java webservice上傳下載文件代碼分享

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

2020-06-07 12:25※WYF※ JAVA教程

這篇文章主要為大家詳細介紹了java webservice上傳下載文件代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java webservice上傳下載文件代碼,供大家參考,具體內(nèi)容如下

1、新建動態(tài)web工程youmeFileServer,新建包com,里面新建類FileProgress

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
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);
      // 將字節(jié)數(shù)組bytes中的數(shù)據(jù),寫入文件輸出流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 個字節(jié)的數(shù)據(jù)讀入字節(jié)數(shù)組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、發(fā)布測試webservice(eclipse Java EE IDE)

右鍵剛才建立的類,現(xiàn)在webservice-->create webservice,webservice type 選擇bottom upjava bean web service,service implementation 選擇目標類,下一步選擇要發(fā)布公開的方法接口,直到完成,tomcat已啟動,右鍵剛生成的wsdl文件夾里面的wsdl文件,選擇測試webservice,輸入對應方法的參數(shù)即可。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品29页 | 午夜伦伦电影理论片费看 | 日本又大又硬又粗的视频 | 国产99区 | 色综合久久98天天综合 | 亚洲女人国产香蕉久久精品 | 天天做天天爰夜夜爽 | piss美女厕所小便 | 成人网中文字幕色 | 99精品国产综合久久久久 | 羞羞一区二区三区四区片 | 国语视频高清在线观看 | 三级黄色片在线免费观看 | 99久久精彩视频 | 秋葵丝瓜茄子草莓榴莲樱桃 | 亚洲国产精品成人午夜在线观看 | 国产探花在线观看 | 国产成人一区二区三区影院免费 | 国产成人精品一区二三区2022 | 超级乱淫伦小说1女多男 | 胸奶好大好紧好湿好爽 | 亚欧成人中文字幕一区 | 91香蕉在线| 亚洲 欧美 国产 日韩 字幕 | 日本一卡二卡3卡四卡网站精品 | 69午夜影院 | 蜜桃视频在线观看www | 海角社区在线视频 | 日本大乳护士的引诱图片 | 亚洲一级视频在线观看 | 亚洲视频在线一区二区三区 | 日本在线观看www | 美女扒开胸罩露出奶了无遮挡免费 | aaaa黄色片| 青草草视频在线观看 | 美女张开腿让男人桶的 视频 | 青青草国产青春综合久久 | 超逼网 | 国产在线乱子伦一区二区 | 添逼逼视频 | 日韩风月片 |