您现在的位置: 主页 > 上位机技术 > JAVA > JSP编程教程:java使用smartupload组件实现文件上传的方法
本文所属标签:
为本文创立个标签吧:

JSP编程教程:java使用smartupload组件实现文件上传的方法

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-07-23 

本文实例讲述了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

items = null; // 保存全部的上传内容

private Map

> params = new HashMap

>(); // 保存所有的参数

files = new HashMap

();

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

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

temp = null; // 保存内容

if (this.params.containsKey(name)) { // 判断内容是否已经存放

temp = this.params.get(name); // 如果存在则取出

} else { // 不存在

temp = new ArrayList

(); // 重新开辟List数组

temp.add(value); // 向List数组中设置内容

this.params.put(name, temp); // 向Map中增加内容

} else { // 判断是否是file组件

String fileName = its.getIPTimeRand()

+ "." + item.getName().split("\.")[1];

this.files.put(fileName, item); // 保存全部的上传文件



              查看评论 回复



嵌入式交流网主页 > 上位机技术 > JAVA > JSP编程教程:java使用smartupload组件实现文件上传的方法
 内容 文件 上传

"JSP编程教程:java使用smartupload组件实现文件上传的方法"的相关文章

网站地图

围观()