首页 > 代码库 > 【Jsp】使用jspsmartupload完成简单的文件上传系统

【Jsp】使用jspsmartupload完成简单的文件上传系统

请不要妄想,一个html的file控件,再加上javascript与jquery语句就可以完成文件上传,

文件上传系统从来是需要配合服务器来完成的

用户把自己的文件上传到服务器上

文件上传系统是很复杂的一件事。

html的file控件向动态网页语言以post方式通过enctype="multipart/form-data"解码成二进制文件就不管了

动态网页需要对其通过asp,jsp,php,asp.net编程,才能正常把文件保存到服务器中

网络上对文件处理的方法是五花八门,让人无从下手,

尤其是jsp方面,用servlet的有之,用ssh的有之,各种各样的包,反而导致其代码的适用性糟糕无比而已

下面提供一种jsp最简单的方法,完成文件上传系统


一、下载jspsmartupload

首先,你要下载一个jspsmartupload.jar,不知道怎么说jsp才好,自诩为插件多,可扩展性强,其实这样反而搞到一个插件一门新的语言~╮(╯▽╰)╭

jspsmartupload算是最简单的文件上传插件了,代码量极少

下载的时候也要注意,网上有一些仅支持英文文件名的jspsmartupload.jar,上传中文文件的时候会乱码

我在网上找了很久,才发现有人提供了一份相当不错的,默认支持中文的jspsmartupload.jar,而且免费下载(点击打开链接)

我也上传的一份(点击打开链接)


二、配置jspsmartupload

没什么好说的,把下载后的lib包,扔到Eclipse新建的web工程的lib目录

然后新建两个文件,一个upload.jsp用来放html上传用的file控件

一个uploadsuc.jsp用来处理上传的file中

其实最重要的是,在webroot目录下建立一个pic文件夹,用来存放上传文件

这个插件如果没有文件夹不会新建文件夹的,只会报错



三、upload.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>上传页面</title>
	</head>
	<!-- 没什么好说的,就一个html的file控件,刚学html编程的人都会,注意在表单加上enctype="multipart/form-data",否则会报错 -->
	<body>
		<form action="uploadsuc.jsp" method="post"
			enctype="multipart/form-data">
			<input type="file" name="pic" id="pic" />
			<input type="submit" value=http://www.mamicode.com/"上传" />>
四、uploadsuc.jsp

注意页首两个包是怎么引用的

<!-- 注意页首两个包是怎么引用的 -->
<%@ page language="java" import="java.util.*,com.jspsmart.upload.*"
	pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>上传处理页面</title>
	</head>

	<body>
		<% 
			//之所以要放到异常抛出结构里面,是为了避免直接访问此页报错 
			try{ 
				//指定动作 
				SmartUpload smart=new SmartUpload(); 
				smart.initialize(pageContext); 
				smart.upload(); 
				//把文件保存到同目录的pic文件夹 
				smart.save("pic"); 
			} 
			catch(Exception e){ 
			} 
		 %>
		<a href=http://www.mamicode.com/"upload.jsp">返回>
五、运行效果



【Jsp】使用jspsmartupload完成简单的文件上传系统