【COS上传文件】实现文件重命名
【摘要】
【COS上传文件】实现文件重命名
一、功能描述
1、使用COS包实现文件的上传功能,其中上传的核心类是:MultipartRequest 重命名的类是: FileRenamePolicy
2、实现上传项目的结构:
二、上传实例
1、上传文件前端页面代码:在index.jsp文件中实现访问项目默认...
【COS上传文件】实现文件重命名
一、功能描述
1、使用COS包实现文件的上传功能,其中上传的核心类是:MultipartRequest 重命名的类是: FileRenamePolicy
2、实现上传项目的结构:
二、上传实例
1、上传文件前端页面代码:在index.jsp文件中实现访问项目默认页面跳转到选择文件的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>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>
-
This is my JSP page. <br>
-
<jsp:forward page="jsps/Upload.jsp"></jsp:forward>
-
</body>
-
</html>
2、选择上传文件页面
-
<%@ 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>My JSP 'Upload.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>
-
This is my JSP page. <br>
-
<form action="UpServlet" method="post" enctype="multipart/form-data">
-
图片<input type="file" name="imgs"/></br>
-
<input type="submit" value="上传"/></br>
-
</form>
-
</body>
-
</html>
3、文件上传核心类
-
package com.test.cos;
-
-
import java.io.IOException;
-
import java.io.PrintWriter;
-
-
import javax.servlet.ServletException;
-
import javax.servlet.http.HttpServlet;
-
import javax.servlet.http.HttpServletRequest;
-
import javax.servlet.http.HttpServletResponse;
-
-
import com.oreilly.servlet.MultipartRequest;
-
import com.oreilly.servlet.multipart.DefaultFileRenamePolicy;
-
import com.oreilly.servlet.multipart.FileRenamePolicy;
-
-
public class UpServlet extends HttpServlet {
-
-
public void doPost(HttpServletRequest request, HttpServletResponse response)
-
throws ServletException, IOException {
-
-
request.setCharacterEncoding("UTF-8");
-
//申明文件上传的路径
-
String path = getServletContext().getRealPath("/up");
-
//设置一个名称
-
FileRenamePolicy reName =
-
new DefaultFileRenamePolicy();
-
//开始上传,MultipartRequest构造方法的参数reName是DefaultFileRenamePolicy()的对象,这个必须有才能实现重命名。UTF-8没有就会出现乱码
-
MultipartRequest req = new MultipartRequest(request,path,1024*1024*10,"UTF-8",reName);
-
System.out.println("上传成功");
-
-
//显示信息
-
response.setContentType("text/html;charset=UTF-8");
-
-
String oldName = req.getOriginalFileName("imgs");
-
String newName = req.getFilesystemName("imgs");
-
long size = req.getFile("imgs").length();
-
String contentType = req.getContentType("imgs");
-
-
PrintWriter out = response.getWriter();
-
-
out.println("本地文件名称:"+oldName+"<br/>"+"文件上传后重命名为:"+newName+"<br/>"+"文件大小为:"+size+"<br/>"+"文件类型:"+contentType+"<br/>");
-
out.println("上传成功");
-
}
-
-
}
三、测试上传文件
1、访问项目地址:http://127.0.0.1:8080/test24_1/ 项目默认访问index.jsp页面,在index.jsp页面中实现转发到Upload.jsp页面
2、上传文件的结果
在浏览器中输出上传文件的信息:
在tomcat设置的上传路径中显示上传的文件
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/78410336
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)