JSP页面如何实现文件上传下载
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。下面,小编为大家搜索整理了JSP页面如何实现文件上传下载,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!
名称:jsp页面上传类
作者:SinNeR
Mail:vogoals[at]
特点:
可以多文件上传;
返回上传后的文件名;
form表单中的其他参数也可以得到。
先贴上传类,JspFileUpload
package ;
import eredOutputStream;
import ;
import OutputStream;
import ception;
import leDateFormat;
import yList;
import ;
import table;
import letInputStream;
import ServletRequest;
/*
* vogoalAPI 1.0
* Auther
* by
* mail:
*/
/**
* JSP上传文件类
*
* @author SinNeR
* @version 1.0
*/
public class JspFileUpload {
/** request对象 */
private HttpServletRequest request = null;
/** 上传文件的路径 */
private String uploadPath = null;
/** 每次读取得字节的大小 */
private static int BUFSIZE = 1024 * 8;
/** 存储参数的Hashtable */
private Hashtable paramHt = new Hasptable();
/** 存储上传的文件的文件名的ArrayList */
private ArrayList updFileArr = new ArrayList();
/**
* 设定request对象。
*
* @param request
* HttpServletRequest request对象
*/
public void setRequest(HttpServletRequest request) {
est = request;
}
/**
* 设定文件上传路径。
*
* @param path
* 用户指定的文件的上传路径。
*/
public void setUploadPath(String path) {
adPath = path;
}
/**
* 文件上传处理主程序。
*
* @return int 操作结果 0 文件操作成功;1 request对象不存在。 2 没有设定文件保存路径或者文件保存路径不正确;3
* 没有设定正确的enctype;4 文件操作异常。
*/
public int process() {
int status = 0;
// 文件上传前,对request对象,上传路径以及enctype进行check。
status = preCheck();
// 出错的时候返回错误代码。
if (status != 0)
return status;
try {
// 参数或者文件名
String name = null;
// 参数的value
String value = null;
// 读取的流是否为文件的标志位
boolean fileFlag = false;
// 要存储的文件。
File tmpFile = null;
// 上传的文件的名字
String fName = null;
FileOutputStream baos = null;
BufferedOutputStream bos = null;
// 存储参数的Hashtable
paramHt = new Hashtable();
updFileArr = new ArrayList();
int rtnPos = 0;
byte[] buffs = new byte[BUFSIZE * 8];
// 取得ContentType
String contentType = ontentType();
int index = xOf("boundary=");
String boundary = "--" + tring(index + 9);
String endBoundary = boundary + "--";
// 从request对象中取得流。
ServletInputStream sis = nputStream();
// 读取1行
while ((rtnPos = Line(buffs, 0, th)) != -1) {
String strBuff = new String(buffs, 0, rtnPos);
// 读取1行数据
if (tsWith(boundary)) {
if (name != null && ()th() > 0) {
if (fileFlag) {
h();
e();
e();
baos = null;
bos = null;
(fName);
} else {
Object obj = (name);
ArrayList al = new ArrayList();
if (obj != null) {
al = (ArrayList) obj;
}
(value);
tln(value);
(name, al);
}
}
name = new String();
value = new String();
-
关于java实验报告模板
1.掌握JavaApplet的程序结构和开发过程。2.学会编写Applet对应的HTML文件,掌握从HTML文件向Applet传递参数的方法。3.掌握文本框对象的使用方法。4.掌握按钮类对象的使用方法。5.掌握布局管理器的用法。6.理解ActionEvent事件的`含义。7.掌握事件源、监视器、处理事...
-
如何在Javascript中为String对象添加trim,ltrim,rtrim方法
如何在Javascript中为String对象添加trim,ltrim,rtrim方法呢?下面是小编给大家提供的实现代码,大家可以参考阅读,更多详情请关注应届毕业生考试网。利用Javascript中每个对象(Object)的prototype属性我们可以为Javascript中的内置对象添加我们自己的方法和属性。j...
-
java中反射机制
导语:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。下面我们来看看java中反射机制,希望对大家有所帮助。Java中什么是反射机制:(JavaReflactioninaction)Java反射...
-
java虚方法
我们已经讨论了方法的重载,也就是子类能够重载父类的方法。以下是小编为大家搜索整理的java虚方法,欢迎大家阅读!更多精彩内容请及时关注我们应届毕业生考试网!当子类对象调用重载的方法时,调用的是子类的方法,而不是父类中被重载的.方法。要想调用父类中被重载的...