在web应用技术中经常使用文件的上传于下载,以下我效果以下我的代码了:
1.首先先导入 jsmartcom_zh_CN.jar 包
2.jsp页面的代码:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%
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>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
选择上传:
<form action="Upservlet" method="post" enctype="multipart/form-data">
选择1:<input type="file" name="up1"><br/>
选择2:<input type="file" name="up2">
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
</pre><p></p><p></p><p><span style="font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(250, 247, 239);">3.Upservlet对应下的Java代码:</span></p><p><span style="font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(250, 247, 239);"></span></p><p><span style="font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(250, 247, 239);"></span></p><pre name="code" class="java">
package com.zuxia.servlet;
import java.io.IOException;
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;
public class Upservlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置编码格式
request.setCharacterEncoding("GB2312");
response.setCharacterEncoding("GB2312");
//第一步:新建一个对象
SmartUpload smart=new SmartUpload();
//第二步:初始化
smart.initialize(super.getServletConfig(), request, response);
//第三步:设置上传文件的类型
smart.setAllowedFilesList("jpg,html,pdf,txt,zip");
try {
//第三步:上传文件
smart.upload();
//第四步:保存文件
//smart.save("/imges");
//对文件进行重命名
Files fs= smart.getFiles();//得到所有的文件
for (int i = 0; i <fs.getCount(); i++) {//对文件个数进行循环
File f=fs.getFile(i);
if (f.isMissing()==false) {//判断文件是否存在
f.saveAs("/imges/"+System.currentTimeMillis()+f.getFileName());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}