博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
COS文件上传小结
阅读量:7099 次
发布时间:2019-06-28

本文共 2032 字,大约阅读时间需要 6 分钟。

hot3.png

看到osc是用cos来做上传处理,我也来贴段我使用的代码。(大部分都是偷得红薯的)

[代码]up.html

			
无标题文档

[代码]upload.jsp

<%@page import="java.io.*"%><%@page import="java.util.Enumeration"%><%@page import="com.cos.util.CustomFileRenamePolicy"%><%@page import="com.oreilly.servlet.MultipartRequest"%><%@page contentType="text/html; charset=gb2312"%><%	//文件上传后,保存在c:\\upload	String saveDirectory = "c:\\";	//每个文件最大5m,最多3个文件,所以	int maxPostSize = 3 * 5 * 1024 * 1024;	//response的编码为"gb2312",同时采用缺省的文件名冲突解决策略,实现上传	//就这一句就完成上传了,真是很爽	//MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize, "gb2312");	// 实现文件重命名	MultipartRequest multi = new MultipartRequest(request,			saveDirectory, maxPostSize, "gb2312",			// 自定义COS命名策略文件			new CustomFileRenamePolicy());	//输出反馈信息	Enumeration files = multi.getFileNames();	while (files.hasMoreElements()) {		String name = (String) files.nextElement();		File f = multi.getFile(name);		if (f != null) {			String fileName = multi.getFilesystemName(name);			System.err.println("上传的文件名:" + fileName);			String lastFileName = saveDirectory + "\\" + fileName;			out.println("上传的文件:" + lastFileName);			out.println("

"); // 限制文件类型方面。红薯老大说“cos限制不了,要自己控制,通过文件扩展名来限制” // 这是我想到的:根据MIME判断是否是合法的文件类型,不是则删除 if (!multi.getContentType(name).contains("image")) { new File(lastFileName).delete(); } } }%>
[代码]CustomFileRenamePolicy.java
package com.cos.util;import java.io.File;import java.util.UUID;import com.oreilly.servlet.multipart.FileRenamePolicy;/**   * * Description: 自定义COS命名策略文件  
* * */public class CustomFileRenamePolicy implements FileRenamePolicy { public File rename(File file) { // 生成UUID String uuid = UUID.randomUUID().toString().replaceAll("-", ""); int index = file.getName().lastIndexOf("."); // 新文件名 = uuid + 后缀名 String newName = uuid + file.getName().substring(index); file = new File(file.getParent(), newName); return file; }}
参考文档:

转载于:https://my.oschina.net/backtract/blog/142484

你可能感兴趣的文章
Android防护扫盲篇
查看>>
spring 集成 webservice 进过反复测试终于完成了
查看>>
原型----《你不知道的js》
查看>>
关于Electron原生模块编译的一点总结
查看>>
小程序:模仿美团商品列表
查看>>
Angular学习笔记07——表单
查看>>
高价招ios和安卓APP马甲封装上架技术人员
查看>>
闭包、定时器
查看>>
iOS开发-面试小计(一)
查看>>
PHP 源码探秘 - 在解析外部变量时的一个问题
查看>>
手把手教你搭建微信小程序服务器(HTTPS)
查看>>
简析 Jenkins 专有用户数据库加密算法
查看>>
ios软键盘遮挡输入框问题
查看>>
在Git中配置多ssh key登陆不同仓库
查看>>
java B2B2C springmvc mybatis多租户电子商城系统-服务网关过滤器
查看>>
从性能领先到体验领先,迅雷链带动区块链行业升级
查看>>
TiKV 源码解析系列文章(七)gRPC Server 的初始化和启动流程
查看>>
数据库-oracle-基础知识
查看>>
Drools workbench
查看>>
聚焦http协议缓存策略(RFC7234)在okhttp中的实现
查看>>