SmartUpload实现文件上传
(一)SmartUpload组件简介
(三)SmartUpload组件应用条件

File类及方法


文件上传的实现

控制上传文件的类型

控制上传文件的大小

注意:
㈠ 表单要求
对于上传文件的FORM表单,有两个要求:
1、METHOD应用POST,即METHOD="POST"。
2、增加属性:ENCTYPE="multipart/form-data"
案例:下面是一个用于上传文件的FORM表单的例子:
表单页面indes.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>SmartUpload</title> </head> <body>
<form action="doupload.jsp" method="post" enctype="multipart/form-data">
姓名:<input type="text" name="username" /><br/>
密码:<input type="text" name="pwd" /><br/>
文件1:<input type="file" name="file1" /><br/>
文件2:<input type="file" name="file2" /><br/>
文件3:<input type="file" name="file3" /><br/>
文件4:<input type="file" name="file4" /><br/>
文件5:<input type="file" name="file5" /><br/>
文件6:<input type="file" name="file6" /><br/>
文件7:<input type="file" name="file7" /><br/>
<input type="submit" />
</form>
</body>
</html>
处理表单页
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.jspsmart.upload.SmartUpload"%>
<%@page import="com.jspsmart.upload.File"%>
<% //----处理上传文件
/*
使用smartupload
1、添加组件jar包至WEB-INF/lib包中
2、设置form表单的提交类型为二进制类型
*/ //创建smartupload组件
SmartUpload su = new SmartUpload(); //初始化组件上下文
su.initialize(pageContext); //设置编码
su.setCharset("utf-8");
try{ //允许上传的文件类型
//su.setAllowedFilesList("doc"); //限制上传文件的类型
//su.setDeniedFilesList("bat"); //限制上传文件的大小
//su.setMaxFileSize(2000); //上传文件
su.upload();
}catch(Exception e){
%>
<script type="text/javascript">
alert("不允许上传:bat,exe,jsp,html,htm,java,class文件类型");
location.href="index.jsp";
</script>
<%
} out.println("上传"+su.save("upload\\")+"个文件成功!!!"); //得到表单项
String name = su.getRequest().getParameter("username");
String pwd = su.getRequest().getParameter("pwd"); /*
实现多文件上传
*/
for(int i = 0; i < su.getFiles().getCount(); i++){ //获取单个文件
File file = su.getFiles().getFile(i); //判断当前file是否选择了文件;如果没有则继续
if(file.isMissing())continue; //设置上传服务器的位置
String path = "upload\\"; //得到上传文件的名称
String filename = file.getFileName(); //上传文件的路径
path = path + filename; //保存文件
file.saveAs(path,SmartUpload.SAVE_VIRTUAL); out.println("<table border=1>");
out.println("<tr><td>姓名:</td><td>"+name+"</td></tr>");
out.println("<tr><td>密码:</td><td>"+pwd+"</td></tr>");
out.println("<tr><td>上传的文件名称(filename):</td><td>"+filename+"</td></tr>");
out.println("<tr><td>上传的文件表单项名称(fliedname):</td><td>"+file.getFieldName()+"</td></tr>");
out.println("<tr><td>上传的文件的大小(长度)(size):</td><td>"+file.getSize()+"</td></tr>");
out.println("<tr><td>上传的文件的扩展名(ext):</td><td>"+file.getFileExt()+"</td></tr>");
out.println("</table><br/>"); } %>
SmartUpload实现文件上传的更多相关文章
- 基于Servlet+smartUpload的文件上传
文件上传在web应用中是非常常见的,现在我就介绍下基于servlet的文件上传,基于Struts2的文件上传可以看: 页面端代码: <%@ page language="java&qu ...
- SmartUpload实现文件上传时file和表单文本同时提交的问题
JSP页面: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...
- smartUpload组件文件上传
public class SmartUploadServlet extends HttpServlet { public void doGet(HttpServletRequest request, ...
- 易买网之smartupload实现文件上传
经过俩个星期的奋斗,易买网项目完工.在之前,实现图片的上传,走过许多弯路,原来是好多基础的知识忘记了,没把smartupload文件包添加组件jar包至WEB-INF/lib包中,在此特别重视,做下文 ...
- 文件上传之 MultipartFile
利用MultipartFile(组件)实现文件上传 在java中上传文件似乎总有点麻烦,没.net那么简单,记得最开始的时候用smartUpload实现文件上传,最近在工作中使用spring的Mult ...
- JSP文件上传--Smartupload组件
把smartupload.jar copy到D:\apache-tomcat-7.0.57\lib下. 创建htm上传文件:smartupload_demo01.htm 由于是上传文件,需要对表单进行 ...
- 文件上传--基于Spring MVC框架+SmartUpload
这篇文章是介绍文件上传的,由于在spring MVC上实现起来和直接在servlet中写有些不同,所以特地写了一下这篇文章,关于不同点,大家可以先阅读一下上一篇文章.好了,下面直接上代码. jab包是 ...
- SmartUpload文件上传组件的使用教程
在项目中使用SmartUpload组件可以进行文件的上传和下载操作 使用步骤 1.导入jar包,进行build path操作 2.编写文件上传页面,代码如下 <form action=" ...
- java基础篇---文件上传(smartupload组件)
文件上传几乎是所有网站都具有的功能,用户可以将文件上传到服务器的指定文件夹中,也可以保存在数据库中,本篇主要说明smartupload组件上传. 在讲解smartupload上传前,我们先来看看不使用 ...
随机推荐
- Tensorflow读取csv文件(转)
常用的直接读取方法实例:#加载包 import tensorflow as tf import os #设置工作目录 os.chdir("你自己的目录") #查看目录 print( ...
- Python 5 运算符
数学运算符: + 加 1 + 1 = 2 - 减 2 - 1 = 1 × 乘 2 × 2 = 4 / 除 3 / 2 = 1.5 不同版本可能显示小数位数不同 ...
- 洛谷 P2155 BZOJ 2186 codevs 2301 [SDOI2008]沙拉公主的困惑
题目描述 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现在所有真钞票的 ...
- BZOJ1443 游戏game (二分图染色+匈牙利算法)
先对整幅图进行二分图染色,再跑一遍匈牙利算法.如果最大匹配数=点数*2,那么输出WIN. 对于任何一个非必须在最大匹配上的点,即为所求的点. Program Test375num2; type arr ...
- PHP array_intersect_uassoc()
定义和用法 array_intersect_uassoc() 函数使用用户自定义的回调函数计算数组的交集,用回调函数比较索引. array_intersect_uassoc() 返回一个数组,该数组包 ...
- shell中eval命令
原文:http://www.cnblogs.com/xdzone/archive/2011/03/15/1984971.html 语法:eval cmdLine eval会对后面的cmdLine进行两 ...
- broadleaf commerce到mysql和tomcat的迁移
近期刚刚接触broadleaf commerce, 一个电商站点的开源模版.详细的执行和配置能够參考链接:点击打开链接 而该模版是在jetty容器下执行的,数据库是HSQL.官方站点上给出了怎样将数据 ...
- WPF中控件TextBlock使用(简单)
TextBlock主要用来显示文字.比方: <TextBlock Name="txtBlockOutpuMessage" Text="hello" / ...
- Sqlite3插入大量数据性能优化
近期做的一个项目数据量很大.文本数据有30多M.这样就遇到一个问题.插入数据库时很慢. 这里记录下,优化方法很easy. 原文地址:http://blog.csdn.net/qqmcy/article ...
- 5分钟快速构建苹果IPA免费发布服务器
在ios的开发中, 通过苹果的各种秘钥加密, 我们会生成一个.ipa文件,这就是我们的应用软件的安装包. 这个文件是能被安装到iphone/ipad上的.可是,如何才能让不在身边的人安装上这个应用呢? ...