激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語言 - Java教程 - Java實(shí)現(xiàn)多文件上傳功能

Java實(shí)現(xiàn)多文件上傳功能

2021-09-19 10:23qq_35937045 Java教程

這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)多文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

文件上傳是開發(fā)中十分常見的功能,在servlet3.0之前,實(shí)現(xiàn)文件上傳需要使用一些插件技術(shù),比如:

  • commons-fileupload
  • smartupload

但是在3.0之后servlet內(nèi)部集成文件上傳的技術(shù)(multipart),有關(guān)servlet3.0文件上傳的實(shí)現(xiàn)過程如下:

1、表單的提交方式必須設(shè)置為post
2、表單的enctype必須設(shè)置為multipart/form-data(使用二進(jìn)制流的方式提交數(shù)據(jù))
3、在servlet類中加上@MultipartConfig注解

包含四個(gè)可設(shè)置的參數(shù)分別為:

  • fileSizeThreshold 內(nèi)存緩存的最大空間(當(dāng)上傳文件的字節(jié)數(shù)達(dá)到該值后使用臨時(shí)文件緩存)
  • location 臨時(shí)文件的存儲目錄
  • maxFileSize 允許上傳的單個(gè)文件的最大限制
  • maxRequestSize 表單允許提交的總字節(jié)數(shù)

頁面端

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
 <form action="upload3" method="post" enctype="multipart/form-data">
  <input type="text" name="fname" placeholder="請輸入文件名" /> <br />
  <input type="file" name="myfile" multiple/>
  <button>上傳</button>
 </form>
</body>
</html>

服務(wù)端

?
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
package com.softeem.servlet;
 
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.UUID;
 
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
 
@WebServlet({ "/UploadServlet", "/upload" })
@MultipartConfig(
  //設(shè)置內(nèi)存緩存的最大空間(當(dāng)上傳文件的字節(jié)數(shù)達(dá)到該值后使用臨時(shí)文件緩存)
  fileSizeThreshold=1024*1024,
  //設(shè)置臨時(shí)文件的存儲目錄
  location="d:/temp",
  //設(shè)置允許上傳的單個(gè)文件的最大限制
  maxFileSize=1024*1024*200,
  //設(shè)置表單的最大允許提交的字節(jié)數(shù)
  maxRequestSize=1024*1024*500
  )
public class UploadServlet extends HttpServlet {
 private static final long serialVersionUID = 1L;
       
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  
  String basePath = "d:/myfileserver";
  Collection<Part> parts = request.getParts();
  for(Part part:parts){
   if(part.getSize() > 0){
    String fname = part.getSubmittedFileName();
    //隨機(jī)產(chǎn)生一個(gè)uuid作為文件名稱
    String uuid = UUID.randomUUID().toString();
    //獲取文件后綴
    String suffix = fname.substring(fname.lastIndexOf("."));
    //組合uuid和文件后綴成為新的文件名稱
    fname = uuid+suffix;
    
    part.write(basePath+File.separator+fname);
   }
  }
 }
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  doGet(request, response);
 }
 
}

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

原文鏈接:https://blog.csdn.net/qq_35937045/article/details/100182972

延伸 · 閱讀

精彩推薦
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程Java實(shí)現(xiàn)搶紅包功能

    Java實(shí)現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)搶紅包功能,采用多線程模擬多人同時(shí)搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程20個(gè)非常實(shí)用的Java程序代碼片段

    20個(gè)非常實(shí)用的Java程序代碼片段

    這篇文章主要為大家分享了20個(gè)非常實(shí)用的Java程序片段,對java開發(fā)項(xiàng)目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java8中Stream使用的一個(gè)注意事項(xiàng)

    Java8中Stream使用的一個(gè)注意事項(xiàng)

    最近在工作中發(fā)現(xiàn)了對于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個(gè)非常重要的注意點(diǎn),所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7472021-02-04
  • Java教程Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經(jīng)有好久沒有升過級了。升級完畢重啟之后,突然發(fā)現(xiàn)好多錯(cuò)誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
1334
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 国产免费一区二区三区在线能观看 | 精品国产一区二区三区在线 | 精品国产一二区 | xp123精品视频 | 日日综合 | 国产91亚洲精品一区二区三区 | 精品国产九九九 | 思思久而久而蕉人 | 中国女警察一级毛片视频 | 国产精品久久久久久模特 | 欧美中文字幕一区二区三区亚洲 | 中文字幕在线播放第一页 | 日本高清在线免费 | 精品一区二区三区欧美 | av手机在线电影 | 久久精品亚洲欧美日韩精品中文字幕 | 国产日韩三区 | 欧美中文字幕一区二区三区亚洲 | 午夜久| 久久久久久久久久亚洲 | 日本不卡视频在线观看 | 亚洲国产精品一区二区久久 | 久久久久久久久成人 | 久久视讯 | 毛片免 | 黄色av网站在线观看 | 在线亚洲欧美日韩 | 国产精品爱久久久久久久 | 黄色av免费| 久久99精品久久久久久青青日本 | 欧美成人免费一区二区三区 | 国产精品久久二区 | 性爱视频免费 | 国产一级中文字幕 | 毛片成人网 | 综合97| 亚州精品天堂中文字幕 | 久久久青青草 | 亚洲视频综合 | 毛片午夜 | 免费观看黄视频 |