加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

jsp文件上传与下载例子代码

发布时间:2023-07-12 14:39:16 所属栏目:教程 来源:
导读:文件上传:

复制代码 代码如下:www.CuoXIn.com

public class UploadServlet extends HttpServlet{

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws
文件上传:
 
复制代码 代码如下:www.CuoXIn.com
 
public class UploadServlet extends HttpServlet{
 
@Override
 
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
 
throws ServletException, IOException {
 
doPost(req, resp);
 
}
 
@Override
 
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
 
throws ServletException, IOException {
 
SmartUpload myupload = new SmartUpload();
 
ServletConfig config = getServletConfig();
 
myupload.initialize(config,req,resp);
 
resp.setContentType("text/html");
 
resp.setCharacterEncoding("utf-8");
 
PrintWriter out = resp.getWriter();
 
out.println("<h2>处理上传的文件</h2>");
 
out.println("<hr>");
 
try {
 
myupload.setMaxFileSize(1024*1024);
 
myupload.setTotalMaxFileSize(5*1024*1024);
 
myupload.setAllowedFilesList("doc,txt,jpg,gif");
 
myupload.setDeniedFilesList("exe,bat,jsp,htm,html");
 
myupload.upload();//上传文件,此项是必须的
 
int count = myupload.getFiles().getCount();
 
Request myRequest = myupload.getRequest();
 
String rndFilename,fileExtName,fileName,filePathName;
 
Date dt = null;
 
SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMdd");
 
//一一提取上传文件信息,同时可保持文件
 
for(int i = 0; i < count; i++){
 
File file = myupload.getFiles().getFile(i);
 
if(file.isMissing())
 
continue;
 
fileName = new String(file.getFileName().getBytes(),"utf-8");//获取文件名
 
filePathName = new String(file.getFilePathName().getBytes(),"utf-8");
 
fileExtName = file.getFileExt();
 
dt = new Date(System.currentTimeMillis());
 
Thread.sleep(100);
 
rndFilename = fmt.format(dt)+i+"."+fileExtName;
 
out.println("第"+(i+1)+"个文件的文件信息:<br>");
 
out.println(" 文件名为:"+fileName+"<br>");
 
out.println(" 文件扩展名为:"+fileExtName+"<br>");
 
out.println(" 文件全名:"+filePathName+"<br>");
 
out.println(" 文件大小:"+file.getSize()/1024+"kb<br>");
 
//创建文件保存位置
 
ServletContext context = req.getServletContext();
 
String savePath = context.getRealPath("/upload/");
 
java.io.File folder = new java.io.File(savePath);
 
if(!folder.exists()){
 
folder.mkdirs();
 
}
 
out.println(" 文件保存路径:"+savePath);
 
file.saveAs(savePath+"/"+rndFilename,SmartUpload.SAVE_PHYSICAL);
 
}
 
} catch (Exception e) {
 
out.println("文件上传失败!!!!");
 
e.printStackTrace();
 
}
 
out.flush();
 
out.close();
 
}
 
}
 
复制代码 代码如下:www.CuoXIn.com
 
<%@ page language="java" contentType="text/html; charset=UTF-8"
 
pageEncoding="UTF-8"%>
 
<%@ page import="com.jspsmart.upload.*" %>
 
<%
 
//设定请求编码方式,否则遇到中文就会乱码
 
request.setCharacterEncoding("utf-8");
 
%>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 
<html>
 
<head>
 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
<title>上传文件实例</title>
 
<script type="text/javascript" src="js/jquery-1.8.1.js"></script>
 
<script type="text/javascript">
 
$(function(){
 
$("#number").change(function(){
 
var number = $("#number").attr("value");
 
$("#files").html("");
 
for(var i = 0; i < number; i++){
 
$("#files").append("<input type='file' name='file''"+i+"'><br/>");
 
}
 
});
 
});
 
</script>
 
</head>
 
<body>
 
<h2>上传文件实例</h2>
 
请选择上传文件数量:
 
<select id="number">
 
<option value="1" selected="selected">1</option>
 
<option value="2">2</option>
 
<option value="3">3</option>
 
<option value="4">4</option>
 
<option value="5">5</option>
 
</select>
 
<form action="UploadServlet" method="post" enctype="multipart/form-data">
 
<div id="files"></div>
 
<input type="submit" value="提交"/>
 
</form>
 
</body>
 
</html>
 
文件下载:
 
复制代码 代码如下:www.CuoXIn.com
 
<%
 
response.setContentType("application/x-download");//设置为下载application/x-download
 
String filedownload = "/要下载的文件名";//即将下载的文件的相对路径
 
String filedisplay = "最终要显示给用户的保存文件名";//下载文件时显示的文件保存名称
 
String filenamedisplay = URLEncoder.encode(filedisplay,"UTF-8");
 
response.addHeader("Content-Disposition","attachment;filename=" + filedisplay);
 
try
 
{
 
RequestDispatcher dis = application.getRequestDispatcher(filedownload);
 
if(dis!= null)
 
{
 
dis.forward(request,response);
 
}
 
response.flushBuffer();
 
}
 
catch(Exception e)
 
{
 
e.printStackTrace();
 
}
 
finally
 
{
 
}
 
%>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!