cos实现文件上传--推荐
1、导包
2、核心类:MultipartRequest
MultipartRequest是request的包装类
参数1:request
参数2:保存路径
参数3:上传文件大小,默认为1M
参数4:编码
参数5:重命名FileRenamePolicy,默认重命名格式是在名字后面加数字
参数可以根据需要进行
3、与Apache-upload相比
1、可以直接上传多文件,不用遍历
2、获取text等简单文本不用判断
3、可默认命名
4、Demo
String path=getServletContext().getRealPath("file");
FileRenamePolicy rename=new DefaultFileRenamePolicy();//默认重命名,在名字后面加1,2如:名字.jpg、名字1.jpg、名字2.jpg
MultipartRequest req=new MultipartRequest(request, path, 1024*1024*10, "utf-8", rename); //获取上传文件信息
response.setContentType("text/html;charset=utf-8");
PrintWriter out= response.getWriter();
out.write("文件名:"+req.getOriginalFileName("file"));
out.write("<br/>新文件名:"+req.getFilesystemName("file"));
out.write("<br/>文件类型:"+req.getContentType("file"));
out.write("<br/>文件大小:"+req.getFile("file").length());
out.write("<br/>说明:"+req.getParameter("desc"));
out.write("<img src= '"+request.getContextPath()+"/file/"+req.getFilesystemName("file")+"'></img>");
在上面的代码中,如果上传的是中文命名的图片,则无法正常显示,所以我们需要重新命名,实现FileRenamePolicy接口
class MyReName implements FileRenamePolicy
{
public File rename(File file) {
String fileName=file.getName();
String extName=fileName.substring(fileName.lastIndexOf("."));
String uuid=UUID.randomUUID().toString().replace("-", "");
String newName=uuid+extName;
file=new File(file.getParent(), newName);
return file;
} }
调用重命名
MultipartRequest req=new MultipartRequest(request, path, 1024*1024*10, "utf-8", new MyReName());
cos实现文件上传--推荐的更多相关文章
- 用COS实现文件上传
cos是O'Rrilly公司开发的一款用于HTTP上传文件的OpenSource组件 需要cos.jar,下载地址:http://www.servlets.com/cos/ cos上传文件很简单,比f ...
- Struts2文件上传下载
Struts2文件上传 Struts2提供 FileUpload拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容,fileUpload拦截器 默认在defau ...
- 【Struts2】文件上传与下载
一.上传 1.1 Struts2实现步骤 浏览器端 服务器端 1.2 关于Struts2中文件上传细节: 1.3 示例 jsp文件 Action类 struts.xml文件配置 二.下载 2.1 文件 ...
- Struts2之文件上传与下载
时间:2017-1-11 15:47 --使用commons-fileupload组件上传1.客户端 * method="post" * <input t ...
- 【精心推荐】几款极好的 JavaScript 文件上传插件
文件上传功能作为网页重要的组成部分,几乎无处不在,从简单的单个文件上传到复杂的批量上传.拖放上传,需要开发者花费大量的时间和精力去处理,以期实现好用的上传功能.这篇文章向大家推荐几款很棒的 JavaS ...
- JSP+Servlet中使用cos.jar进行图片上传(文件上传亦然)
链接:JSP+Servlet中使用jspsmartupload.jar进行图片上传下载 关于cos.jar,百度百科只有这么几句话(http://baike.baidu.com/subview/406 ...
- 摘抄--使用cos实现多个文件上传详解
在开发中常常需要上传文件,上传文件的方式有很多种,这里有一个cos实现的例子. 首先是要拷贝cos.jar包拷贝到WEB-INF/lib目录下,然后才进行编码. 创建一个可以进行自动重命名的Java文 ...
- redisTemplate实现轻量级消息队列, 异步处理excel并实现腾讯云cos文件上传下载
背景 公司项目有个需求, 前端上传excel文件, 后端读取数据.处理数据.返回错误数据, 最简单的方式同步处理, 客户端上传文件后一直阻塞等待响应, 但用户体验无疑很差, 处理数据可能十分耗时, 没 ...
- jsp实现文件上传(二)用cos组件实现文件上传
jsp表单 <%@ page language="java" pageEncoding="utf-8"%> <html> <hea ...
随机推荐
- js 数字添加逗号,格式化数字
function addCommas(nStr) { nStr += ''; x = nStr.split('.'); x1 = x[0]; x2 = x.length > 1 ? '.' + ...
- 第2个Wiindows程序讲解
上次,我们一起写了一个Windows窗口程序,这个窗口程序虽然非常简单,但是,代码仍然很多,相信,一定会有很多初学者看见这些代码而感到头疼.不用怕,现在,我们就一起来分析一下这些代码,相信通过我们共同 ...
- HTML父子页面通信问题(showModalDialog)
1. showModalDialog参数说明 window.showModalDialog(URL, ARGS,Features)(在父窗口中调用打开新的窗口) URL -- 必选 ...
- HDOJ 1098 Ignatius's puzzle
Problem Description Ignatius is poor at math,he falls across a puzzle problem,so he has no choice bu ...
- SRM470 - SRM474(1-250pt,500pt)(471-500pt为最短路,474-500pt未做)
SRM 470 DIV1 250pt 题意:有n个房间排成一排,相邻两个房间之间有一扇关闭着的门(共n-1扇),每个门上都标有‘A’-‘P’的大写字母.给定一个数n,表示第n个房间.有两个人John和 ...
- Shopilex - 开源免费网店系统
Shopilex - 开源免费网店系统 Shopilex是一套基于GPL开源协议的,MVC架构的开源电子商务网店系统,是目前中文领域里真正开源免费的网店系统.
- mybatis3-generator-plugin插件地址
http://repo1.maven.org/maven2/com/github/oceanc/mybatis3-generator-plugin/0.4.0/
- 用endsWith()来限制图片的后缀名
var a=document.getElementById('file-name'); var filename=a.value if(!a.endsWith('.jpg')||!a.endsWith ...
- open Session In View模式
首先看图说话: ****Open Session In View模式的主要思想是:在用户的每一次请求过程始终保持一个Session对象打开着*** 接下来就是代码: +++++++++++++++++ ...
- (Relax 水题1.2)POJ 1032 Parliament(将n分解成若干个互不相等的整数的和,并且是这些整数的乘积最大)
题意:给出一个数n,将其拆分为若干个互不相等的数字的和,要求这些数字的乘积最大. 分析:我们可以发现任何一个数字,只要能拆分成两个大于1的数字之和,那么这两个数字的乘积一定大于等于原数.也就是说,对于 ...