【COS上传文件】实现文件重命名

举报
brucexiaogui 发表于 2021/12/30 00:03:17 2021/12/30
【摘要】 【COS上传文件】实现文件重命名 一、功能描述 1、使用COS包实现文件的上传功能,其中上传的核心类是:MultipartRequest   重命名的类是: FileRenamePolicy 2、实现上传项目的结构: 二、上传实例 1、上传文件前端页面代码:在index.jsp文件中实现访问项目默认...

【COS上传文件】实现文件重命名


一、功能描述

1、使用COS包实现文件的上传功能,其中上传的核心类是:MultipartRequest   重命名的类是: FileRenamePolicy

2、实现上传项目的结构:



二、上传实例

1、上传文件前端页面代码:在index.jsp文件中实现访问项目默认页面跳转到选择文件的jsp页面。


  
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%
  3. String path = request.getContextPath();
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  7. <html>
  8. <head>
  9. <base href="<%=basePath%>">
  10. <title>My JSP 'index.jsp' starting page</title>
  11. <meta http-equiv="pragma" content="no-cache">
  12. <meta http-equiv="cache-control" content="no-cache">
  13. <meta http-equiv="expires" content="0">
  14. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  15. <meta http-equiv="description" content="This is my page">
  16. <!--
  17. <link rel="stylesheet" type="text/css" href="styles.css">
  18. -->
  19. </head>
  20. <body>
  21. This is my JSP page. <br>
  22. <jsp:forward page="jsps/Upload.jsp"></jsp:forward>
  23. </body>
  24. </html>

2、选择上传文件页面


  
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%
  3. String path = request.getContextPath();
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  7. <html>
  8. <head>
  9. <base href="<%=basePath%>">
  10. <title>My JSP 'Upload.jsp' starting page</title>
  11. <meta http-equiv="pragma" content="no-cache">
  12. <meta http-equiv="cache-control" content="no-cache">
  13. <meta http-equiv="expires" content="0">
  14. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  15. <meta http-equiv="description" content="This is my page">
  16. <!--
  17. <link rel="stylesheet" type="text/css" href="styles.css">
  18. -->
  19. </head>
  20. <body>
  21. This is my JSP page. <br>
  22. <form action="UpServlet" method="post" enctype="multipart/form-data">
  23. 图片<input type="file" name="imgs"/></br>
  24. <input type="submit" value="上传"/></br>
  25. </form>
  26. </body>
  27. </html>


3、文件上传核心类


  
  1. package com.test.cos;
  2. import java.io.IOException;
  3. import java.io.PrintWriter;
  4. import javax.servlet.ServletException;
  5. import javax.servlet.http.HttpServlet;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8. import com.oreilly.servlet.MultipartRequest;
  9. import com.oreilly.servlet.multipart.DefaultFileRenamePolicy;
  10. import com.oreilly.servlet.multipart.FileRenamePolicy;
  11. public class UpServlet extends HttpServlet {
  12. public void doPost(HttpServletRequest request, HttpServletResponse response)
  13. throws ServletException, IOException {
  14. request.setCharacterEncoding("UTF-8");
  15. //申明文件上传的路径
  16. String path = getServletContext().getRealPath("/up");
  17. //设置一个名称
  18. FileRenamePolicy reName =
  19. new DefaultFileRenamePolicy();
  20. //开始上传,MultipartRequest构造方法的参数reName是DefaultFileRenamePolicy()的对象,这个必须有才能实现重命名。UTF-8没有就会出现乱码
  21. MultipartRequest req = new MultipartRequest(request,path,1024*1024*10,"UTF-8",reName);
  22. System.out.println("上传成功");
  23. //显示信息
  24. response.setContentType("text/html;charset=UTF-8");
  25. String oldName = req.getOriginalFileName("imgs");
  26. String newName = req.getFilesystemName("imgs");
  27. long size = req.getFile("imgs").length();
  28. String contentType = req.getContentType("imgs");
  29. PrintWriter out = response.getWriter();
  30. out.println("本地文件名称:"+oldName+"<br/>"+"文件上传后重命名为:"+newName+"<br/>"+"文件大小为:"+size+"<br/>"+"文件类型:"+contentType+"<br/>");
  31. out.println("上传成功");
  32. }
  33. }

三、测试上传文件

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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。