使用JspSmart文件上传
index.html
[html] view plaincopy
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>文件上传</title>
</head>
<body>
<p> </p>
<p align="center">文件上传选择</p>
<form method="post" action="do_upload.jsp"
enctype="multipart/form-data">
<table width="75%" border="1" align="center">
<tr>
<td><div align="center">
1、<input type="file" name="file1" size="30" />
</div>
</td>
</tr>
<tr>
<td><div align="center">
2、<input type="file" name="file2" size="30" />
</div>
</td>
</tr>
<tr>
<td><div align="center">
3、<input type="file" name="file3" size="30" />
</div>
</td>
</tr>
<tr>
<td><div align="center">
4、<input type="file" name="file4" size="30" />
</div>
</td>
</tr>
<tr>
<td>
<div align="center">
上传账户: <input name="uploadername" type="text" /><input
type="submit" name="Submit" value="上传" />
</div></td>
</tr>
</table>
</form>
</body>
</html>
do_upload.jsp
[java] view plaincopy
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page import="com.jspsmart.upload.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>文件上传处理页面</title>
</head>
<body>
<%
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
su.initialize(pageContext);
//设置上传限制
//1.限制每个上传文件的最大长度为10MB
su.setMaxFileSize(10 * 1024 * 1024);
//2.限制总上传文件的长度
su.setTotalMaxFileSize(30 * 1024 * 1024);
//3.设定允许上传的文件
su.setAllowedFilesList("txt,jpg");
//4.设定禁止上传的文件
su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
//上传文件
su.upload();
//将上传的文件全部保存到指定目录
int count = su.save("/upload");
out.println(count + "个文件上传成功!<br/>");
//利用Request对象获取参数之值
out.println("<br/>上传帐户:" + su.getRequest().getParameter("uploadername") + "<br/><br/>");
//逐一提取上传文件信息,同时可保存文件
for(int i=0;i<su.getFiles().getCount();i++){
File file = su.getFiles().getFile(i);
//若文件不存在则继续
if(file.isMissing()){
continue;
}
//显示当前文件信息
out.println("<TABLE BORDER=1>");
out.println("<TR><TD>表单项名(FieldName)</TD><TD>"+file.getFieldName()+"</TD></TR>");
out.println("<TR><TD>文件长度(Size)</TD><TD>"+file.getSize()+"</TD></TR>");
out.println("<TR><TD>文件名(FileName)</TD><TD>"+file.getFileName()+"</TD></TR>");
out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"+file.getFileExt()+"</TD></TR>");
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"+file.getFilePathName()+"</TD></TR>");
out.println("</TABLE><BR/>");
//将文件另存为
file.saveAs("/upload/saveas/"+file.getFileName(),SmartUpload.SAVE_VIRTUAL);
file.saveAs("c:/temp/upload//"+file.getFileName(),SmartUpload.SAVE_PHYSICAL);
}
%>
</body>
</html>
使用JspSmart文件上传的更多相关文章
- JspSmart文件上传与下载
JspSmart 文件上传包,放在WEB-INF/lib下 uploadForm.jsp <%@ page language="java" import="java ...
- java web(四)文件上传与下载
一.文件上传原理 1.在TCP/IP中,最早出现的文件上传机制是FTP ,它是将文件由客户端发送到服务器的标准机制:但是在jsp使用过程中不能使用FTP方法上传文件,这是由jsp运行机制所决定. 通 ...
- MyEclipse------如何添加jspsmartupload.jar+文件上传到服务器
下载地址:http://download.csdn.net/detail/heidan2006/182263 如何添加jspsmartupload.jar:右键“Web”工程->properti ...
- ajax方式提交带文件上传的表单,上传后不跳转
ajax方式提交带文件上传的表单 一般的表单都是通过ajax方式提交,所以碰到带文件上传的表单就比较麻烦.基本原理就是在页面增加一个隐藏iframe,然后通过ajax提交除文件之外的表单数据,在表单数 ...
- 文件上传--基于Spring MVC框架+SmartUpload
这篇文章是介绍文件上传的,由于在spring MVC上实现起来和直接在servlet中写有些不同,所以特地写了一下这篇文章,关于不同点,大家可以先阅读一下上一篇文章.好了,下面直接上代码. jab包是 ...
- 整合MVC实现文件上传
1.整合MVC实现文件上传整合MVC实现文件上传在实际的开发中在实现文件上传的同时肯定还有其他信息需要保存到数据库,文件上传完毕之后需要将提交的基本信息插入数据库,那么我们来实现这个操作.整个MVC实 ...
- jsp实现文件上传下载
文件上传: upload.jsp <form action="uploadServlet" method="post" enctype="mul ...
- 混合表单文件上传到数据库(基于TOMCAT)
在实际的开发中在实现文件上传的同时肯定还有其他信息需要保存到数据库,就像混合表单在上传完毕之后需要将提交的基本信息插入数据库. 在这个demo中需要用到这个架包来帮助实现 1.定义一个公共类实现文件上 ...
- java实现文件上传下载
喜欢的朋友可以关注下,粉丝也缺. 今天发现已经有很久没有给大家分享一篇技术文章了,于是想了一下给大家分享一篇java实现文件上传下载功能的文章,不喜欢的希望大家勿喷. 想必大家都知道文件的上传前端页面 ...
随机推荐
- 【Head First Servlets and JSP】笔记
1.谈到服务器的时候,可能是指物理主机(硬件),也可能是指Web服务应用(软件). 2.谈到客户的时候,通常指人类用户,或者是浏览器应用,或者两者都包括,浏览器应用做些什么?发送请求.解释HTML和呈 ...
- Spark1.x和2.x如何读取和写入csv文件
看很多资料,很少有讲怎么去操作读写csv文件的,我也查了一些.很多博客都是很老的方法,还有好多转来转去的,复制粘贴都不能看.下面我在这里归纳一下,以免以后用到时再费时间去查.前端实现文件下载和拖拽上传 ...
- 平衡搜索树--红黑树 RBTree
红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是Red或Black. 通过对任何一条从根到叶子节点简单路径上的颜色来约束树的高度,红黑树保证最长路径不超过最短路径的两倍, ...
- 华为S5700系列交换机使用高级ACL限制不同网段的用户互访
组网图形 图1 使用高级ACL限制不同网段的用户互访示例 组网需求 如图一所示,某公司通过Switch实现各部门之间的互连.为方便管理网络,管理员为公司的研发部和市场部规划了两个网段的IP地址.同时为 ...
- [HAOI2007]反素数ant
1053: [HAOI2007]反素数ant Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1907 Solved: 1069[Submit][St ...
- Android 在 SElinux下 如何获得对一个内核节点的访问权限【转】
本文转载自:https://blog.csdn.net/wh_19910525/article/details/45170755 Android 5.0下,因为采取了SEAndroid/SElinux ...
- AppLocker Pro FAQ
How to use AppLocker Pro: 1. Start AppLocker Pro, create a password.2. In the main console, click &q ...
- python django model filter 条件过滤,及多表连接查询、反向查询,某字段的distinct[转]
1.多表连接查询:当我知道这点的时候顿时觉得django太NX了. class A(models.Model): name = models.CharField(u'名称') clas ...
- C++中map的用法
map的特性是,所有元素都会根据元素的减值自动被排序.map的所有元素都是pair,同时拥有实值(value)和键值(key).pair的第一个元素会被视为键值,第二个元素会被视为实值.map不允许两 ...
- 使用springmvc报错Required int parameter 'age' is not present
仔细检查jsp代码 <a href="springmvc/testRequestParam?username=atguigu$age=11">Test RequestP ...