`
wenhai_zhang
  • 浏览: 186266 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SmartUpload文件上传

    博客分类:
  • java
阅读更多

一个简单的SmartUpload示例

 

使用SmartUpload使得文件上传异常简单,但同时有个问题,SmartUpload不支持本地文件校验,即不管目录是否存在,都会上传成功,如果给定目录不存在,SmartUpload在保存时,会创建一个新的文件(文件名即为给定路径的最后一个路径分隔符开始的字符串),这非常糟糕。

 

以下是SmartUpload上传的示例代码。

 

package com.zwh.smartupload;

import java.io.IOException;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.File;
import com.jspsmart.upload.Files;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;

public class UploadServlet extends HttpServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		//创建SmartUpload对象
		SmartUpload myupload = new SmartUpload();
		
		try {
			// 使用ServletConfig初始化SmartUpload对象
			myupload.initialize(this.getServletConfig(),req,resp);
			
			
			// 值得注意的是,如果设置了上传文件类型,如果上传的文件中有不允许的类型,SmartUpload会抛出异常
			// 设置允许上传的文件类型,格式:"jpg,jpeg,gif"
			myupload.setAllowedFilesList("");
			// 设置不允许上传的文件类型,格式:"exe,bat"
			myupload.setDeniedFilesList("");
			// 上传
			myupload.upload();
			
			// 使用SmartUpload上传时,必须从SmartUpload对象中获取的Request才能取得其它非文件类组件的值
			String newFileName = myupload.getRequest().getParameter("newFileName");
			String newDirectory = "d:\\";
			
			// 获取上传的文件列表对象 
			Files files = myupload.getFiles();
			
			int size = files.getCount();
			
			// 循环得到每个文件
			for(int i = 0;i<size;i++)
			{
				File f = files.getFile(i);
				// 判断文件路径是否存在。注意这里只能判断文件组件的值是否为空,而不是判断路径是否有效或本地文件是否存在 
				if(f.isMissing())
				{
					//
				}
				
				// 获取文件名 
				String fname = f.getFileName();
				// 获取文件绝对路径
				String fPath = f.getFilePathName();
				// 获取文件的扩展名 
				String fExt = f.getFileExt();
				
				// 保存文件 
				myupload.save(newDirectory, SmartUpload.SAVE_PHYSICAL);
				
				// 判断文件是否存在,并已上传文件名为新文件名 
				java.io.File file = new java.io.File(newDirectory + fname);
				
				if(file.exists())
				{
					file.renameTo(new java.io.File(newDirectory + newFileName));
				}
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (SmartUploadException e) {
			e.printStackTrace();
		}
		
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}

}

 

分享到:
评论

相关推荐

    smartupload文件上传功能

    ### smartupload文件上传功能详解 #### 一、smartupload组件概览 Smartupload是Java Web应用中常用的文件上传组件之一,由LXH提供。它主要用于处理基于HTTP的文件上传请求,提供了简单易用的API,使开发者能够轻松...

    SmartUpload文件上传小例子

    SmartUpload文件上传组件是Java Web开发中常用的一种工具,它为开发者提供了方便的文件上传功能。这个小例子展示了如何在JSP(Java Server Pages)环境中使用SmartUpload来处理用户上传的文件。SmartUpload通过简化...

    SmartUpload文件上传下载方法包文件

    SmartUpload文件上传下载方法包文件SmartUpload文件上传下载方法包文件SmartUpload文件上传下载方法包文件SmartUpload文件上传下载方法包文件SmartUpload文件上传下载方法包文件

    smartupload文件上传下载

    在这个项目中,我们看到的"smartupload文件上传下载"是一个实际可运行的工程,这表明它包含了完整的源代码、配置文件以及可能的测试用例,使得开发者能够快速理解和应用这个组件。 首先,我们要理解文件上传的基本...

    smartupload文件上传与下载

    《SmartUpload文件上传与下载详解》 在Web开发中,文件上传和下载是常见的功能需求。SmartUpload是一款基于Java的开源文件上传组件,它提供了一种简单易用的方式来处理文件上传,同时也支持文件的下载。本文将深入...

    smartupload 文件上传jar

    《SmartUpload 文件上传技术详解》 在Web应用中,文件上传功能是不可或缺的一部分,而SmartUpload则是一款专门用于处理文件上传的Java库。这个库以其简单易用、功能强大著称,深受开发者喜爱。本文将深入探讨...

    JspSmartUpload文件上传下载.zip

    在压缩包"JspSmartUpload文件上传下载.zip"中,我们可以看到以下几个关键文件和目录: - `文件上传下载.iml`:这是IntelliJ IDEA的项目配置文件,包含了项目的模块信息。 - `out`:编译后的类文件和资源文件所在的...

    smartupload 文件上传下载

    《SmartUpload 文件上传下载详解》 在Web应用中,文件上传和下载是常见的功能,尤其在数据交互频繁的场景下,如社交媒体、在线教育、文件共享等。SmartUpload是一款强大的文件上传组件,它为开发者提供了方便、高效...

    jvaa jsp技术SmartUpload文件上传例子

    jsp技术SmartUpload文件上传例子 本文将详细介绍如何使用JspSmartUpload实现文件上传的技术。文件上传是Web开发中的一项常见需求,SmartUpload是一个流行的Java上传组件,提供了强大的文件上传功能。 首先,为了...

    SmartUpload文件上传UTF-8源码版,无乱码

    针对这个问题,"SmartUpload文件上传UTF-8源码版"应运而生,它解决了原版SmartUpload在处理UTF-8编码文件名时可能出现的乱码问题。 SmartUpload是由Jark Widerström开发的Java库,它为Web应用程序提供了一种简单的...

    Smartupload文件上传的详细用法及源代码

    Smartupload文件上传的详细用法及源代码

    smartupload文件上传

    "SmartUpload文件上传"是一个广泛使用的Java库,主要用于在Web应用程序中处理文件上传功能。它为开发者提供了一种方便、高效的方式来管理用户通过HTML表单上传的文件。在这个场景中,"jspsmartupload"可能是指...

    SmartUpload文件上传,批量下载

    SmartUpload是一款功能强大的Java文件上传组件,它使得在Web应用中处理文件上传变得简单而高效。这个组件提供了全面的文件上传解决方案,支持单个文件上传以及批量文件上传,同时还包括了对普通表单域的处理。在本...

    smartupload文件上传简单实例

    SmartUpload是一款强大的文件上传控件,适用于Java和.NET平台,它提供了便捷的方式来处理多文件上传、文件大小限制、文件类型的检查以及进度显示等功能。本实例将详细介绍如何使用SmartUpload进行简单的文件上传操作...

    jspsmartupload 文件上传工具

    jspsmartupload 文件上传工具,避免上传带有中文名的文件出现文件名乱码!为避免乱码问题,该jar包为改过源码后的jar 。可直接在项目中使用。

    jspsmartupload文件上传api+jar文件

    `jspsmartupload`是一个经典的Java Web文件上传组件,它在早期的Web开发中被广泛使用,尤其是在基于JSP和Servlet的应用中。这个组件提供了一种简单的方式来处理用户通过表单上传的文件,使得开发者无需深入理解HTTP...

    SmartUpload文件上传jar包

    SmartUpload是一个功能强大的Java文件上传组件,它在Web应用程序中被广泛使用,特别是在处理多文件上传和大文件分块上传的场景下。这个组件提供了一种简单易用的方式来管理用户通过浏览器上传的文件,减轻了开发者在...

    SmartUpLoad上传文件视屏

    《SmartUpload文件上传技术详解》 在现代互联网应用中,文件上传功能是不可或缺的一部分,它使得用户能够方便地分享和交换各种数据。SmartUpload是一款强大的Java上传组件,它提供了便捷的文件上传解决方案,广泛...

Global site tag (gtag.js) - Google Analytics