描述:oss比较方便,省去了自己搭建文件服务器的时间,价格比较便宜,下面是java基于oss的简单上传代码

a、添加maven依赖

<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>2.1.0</version>
</dependency>

b、java代码

public class TestOSSUpload {

	private static String endpoint = "http://oss-cn-shanghai.aliyuncs.com";
private static String accessKeyId = "你的accessKeyId ";
private static String accessKeySecret = "你的accessKeySecret";
private static String bucketName = "你的bucket"; public void putObject(String bucketName, String key, String filePath) throws FileNotFoundException { // 初始化OSSClient
OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret); // 获取指定文件的输入流
File file = new File(filePath);
InputStream content = new FileInputStream(file); // 创建上传Object的Metadata
ObjectMetadata meta = new ObjectMetadata(); // 必须设置ContentLength
meta.setContentLength(file.length()); Date expire = new Date(new Date().getTime() + 30 * 1000);
meta.setExpirationTime(expire); // 上传Object. PutObjectResult result = client.putObject(bucketName, key, content, meta);
// 打印ETag System.out.println("etag--------------->"+result.getETag());
} public static void main(String[] args) throws FileNotFoundException {
TestOSSUpload testOSSUpload = new TestOSSUpload(); testOSSUpload.putObject(bucketName, "temp3.xlsx", "D:\\temp.xlsx");
File file = new File("D:\\temp.xlsx");
String md5 = testOSSUpload.getFileMD5(file); System.out.println("md5---------------->"+md5);
} public static String getFileMD5(File file) {
if (!file.isFile()){
return null;
}
MessageDigest digest = null;
FileInputStream in=null;
byte buffer[] = new byte[1024];
int len;
try {
digest = MessageDigest.getInstance("MD5");
in = new FileInputStream(file);
while ((len = in.read(buffer, 0, 1024)) != -1) {
digest.update(buffer, 0, len);
}
in.close();
} catch (Exception e) {
e.printStackTrace();
return null;
}
BigInteger bigInt = new BigInteger(1, digest.digest());
return bigInt.toString(16).toUpperCase();
} }

致此结束……  

关注我的公众号,精彩内容不能错过

最新文章

  1. 【笔记】js parentsNode,lastChild,appendChild,insertBefore,nextSibling的意义及运用
  2. iOS - 全屏滑动
  3. [Node.js] Express的测试覆盖率
  4. ember.js:使用笔记3 活用{{bind-attr}}
  5. 【Unity Shaders】学习笔记——SurfaceShader(十)镜面反射
  6. 【转】larbin主要代码说明
  7. js函数:setInterval()/clearInterval()——js网页计时器
  8. c# 远程回收IIS应用池
  9. [GRYZ2014]迷宫问题
  10. C++函数重载遇到了函数默认参数情况
  11. rtsp转发服务器设计
  12. WebWorker SharedWorker ServiceWorker
  13. XCode 7上传遇到ERROR ITMS-90535 Unexpected CFBundleExecutable Key. 的解决办法
  14. Scala的类层级讲解
  15. ORM关于表那些事
  16. 请输入经过encode编码的URL
  17. c# create html table test
  18. LeetCode 349 Intersection of Two Arrays 解题报告
  19. jQuery中FormData的使用
  20. python 跨平台获取网卡信息和本机ip地址

热门文章

  1. easyui 日期控件,选择日期小于等于当前日期,开始日期小于等于结束日期
  2. 为什么我们要使用int类型来保存时间类型的数据。
  3. jackson 用法总结
  4. PMS权限管理和鉴权过程
  5. Python psutil模块使用
  6. Javascript高级编程学习笔记(77)—— 表单(5)过滤输入
  7. Python学习笔记【第七篇】:文件及文件夹操作
  8. vsftp搭建文档
  9. rgba()和opacity之间的区别(面试题)
  10. mongoose的基本操作方法