国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java使用smartupload組件實現文件上傳的方法

2019-11-02 15:50:57
字體:
來源:轉載
供稿:網友

 這篇文章主要介紹了java使用smartupload組件實現文件上傳的方法,對比分析了使用組件與不使用組件實現文件上傳的區別,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了java使用smartupload組件實現文件上傳的方法。分享給大家供大家參考。具體分析如下:

文件上傳幾乎是所有網站都具有的功能,用戶可以將文件上傳到服務器的指定文件夾中,也可以保存在數據庫中,這里主要說明smartupload組件上傳。

在講解smartupload上傳前,我們先來看看不使用組件是怎么完成上傳的原理的?

廢話不多說直接上代碼:

代碼如下:import java.io.*;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class FileUploadTools {
private HttpServletRequest request = null; // 取得HttpServletRequest對象
private List<FileItem> items = null; // 保存全部的上傳內容
private Map<String, List<String>> params = new HashMap<String, List<String>>(); // 保存所有的參數
private Map<String, FileItem> files = new HashMap<String, FileItem>();
private int maxSize = 3145728; // 默認的上傳文件大小為3MB,3 * 1024 * 1024
public FileUploadTools(HttpServletRequest request, int maxSize,
String tempDir) throws Exception { // 傳遞request對象、最大上傳限制、臨時保存目錄
this.request = request; // 接收request對象
DiskFileItemFactory factory = new DiskFileItemFactory(); // 創建磁盤工廠
if (tempDir != null) { // 判斷是否需要進行臨時上傳目錄
factory.setRepository(new File(tempDir)); // 設置臨時文件保存目錄
}
ServletFileUpload upload = new ServletFileUpload(factory); // 創建處理工具
if (maxSize > 0) { // 如果給的上傳大小限制大于0,則使用新的設置
this.maxSize = maxSize;
}
upload.setFileSizeMax(this.maxSize); // 設置最大上傳大小為3MB,3 * 1024 * 1024
try {
this.items = upload.parseRequest(request);// 接收全部內容
} catch (FileUploadException e) {
throw e; // 向上拋出異常
}
this.init(); // 進行初始化操作
}
private void init() { // 初始化參數,區分普通參數或上傳文件
Iterator<FileItem> iter = this.items.iterator();
IPTimeStamp its = new IPTimeStamp(this.request.getRemoteAddr()) ;
while (iter.hasNext()) { // 依次取出每一個上傳項
FileItem item = iter.next(); // 取出每一個上傳的文件
if (item.isFormField()) { // 判斷是否是普通的文本參數
String name = item.getFieldName(); // 取得表單的名字
String value = item.getString(); // 取得表單的內容
List<String> temp = null; // 保存內容
if (this.params.containsKey(name)) { // 判斷內容是否已經存放
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 四川省| 辽阳市| 东港市| 镇安县| 淳安县| 左云县| 余姚市| 华阴市| 永嘉县| 东丽区| 武平县| 靖远县| 芜湖县| 台北市| 姜堰市| 德钦县| 海门市| 绍兴县| 吉木萨尔县| 潼关县| 冷水江市| 武宁县| 孝感市| 宽甸| 枝江市| 故城县| 杨浦区| 梁平县| 石景山区| 金堂县| 济阳县| 南充市| 堆龙德庆县| 德令哈市| 龙岩市| 丽水市| 新河县| 蒲城县| 疏勒县| 望奎县| 常宁市|