阿里云OSS存储

摘要:
其实也可以在阿里云的OSS管理控制台创建。publicclassOssUtils{privatestaticStringendpoint="";privatestaticStringaccessKeyId="";privatestaticStringaccessKeySecret="";privatestaticStringbucketName="";/***oss下载文件**@paramossKey*@return*/publicstaticFiledownLoadFilethrowsException{OSSClientossClient=newOSSClient;try{//判断Bucket是否存在。if{//先将文件写入临时文件再下载Stringfilename="temp"+ossKey.substring;Filef=newFile;ossClient.getObject;returnf;}returnnull;}catch{throwe;}finally{ossClient.shutdown();}}/***上传文件到OSS**@paramossKey*@paramf*@throwsException*/publicstaticvoiduploadFIlethrowsException{OSSClientossClient=newOSSClient;try{//判断Bucket是否存在。详细请参看“SDK手册˃Java-SDK˃管理Bucket”。

1.accessKeyIdaccessKeySecret是由系统分配给用户的,称为ID对,用于标识用户,为访问OSS做签名验证。

2.Bucket是OSS上的命名空间,相当于数据的容器,可以存储若干数据实体(Object)

你可以按照下面的代码新建一个Bucket:

复制代码
        /// <summary>
        /// 新建存储对象容器Bucket
        /// </summary>
        /// <param name="bucketName">容器名称</param>
        void CreateBucket(string bucketName)
        {
            //初始化 OSSClient
            OssClient ossClient = new OssClient(endPoint, accessKeyId, accessKeySecret);

            // 新建一个Bucket
            var bucket = ossClient.CreateBucket(bucketName);

            Console.WriteLine(bucket.CreationDate);
        }
复制代码

由于Bucket的名字是全局唯一的,所以尽量保证你的bucketName不与别人重复。

其实也可以在阿里云的OSS管理控制台创建。

public class OssUtils {
private static String endpoint = "";
private static String accessKeyId = "";
private static String accessKeySecret = "";
private static String bucketName = "";
/**
* oss 下载文件
*
* @param ossKey
* @return
*/
public static File downLoadFile(String ossKey) throws Exception {
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
try {
// 判断Bucket是否存在。详细请参看“SDK手册 > Java-SDK > 管理Bucket”。
if (ossClient.doesBucketExist(bucketName)) {
// 先将文件写入临时文件再下载
String filename = "temp" + ossKey.substring(ossKey.lastIndexOf("."), ossKey.length());
File f = new File(filename);
ossClient.getObject(new GetObjectRequest(bucketName, ossKey), f);
return f;
}
return null;
} catch (Exception e) {
throw e;
} finally {
ossClient.shutdown();
}
}
/**
* 上传文件到OSS
*
* @param ossKey
* @param f
* @throws Exception
*/
public static void uploadFIle(String ossKey, File f) throws Exception {
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
try {
// 判断Bucket是否存在。详细请参看“SDK手册 > Java-SDK > 管理Bucket”。
if (ossClient.doesBucketExist(bucketName)) {
ObjectMetadata meta = new ObjectMetadata();
// 设置自定义元信息name的值为my-data
meta.addUserMetadata("Content-Type", "application/octet-stream");
meta.addUserMetadata("Content-Disposition", "attachment;filename=" + ossKey);
InputStream inputStream = new FileInputStream(f);
// 上传
ossClient.putObject(bucketName, ossKey, inputStream);
inputStream.close();
// 转换pdf文件
// ChangeFile(f, ossKey);
}
} catch (Exception e) {
throw e;
} finally {
ossClient.shutdown();
}
}
}

免责声明:文章转载自《阿里云OSS存储》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于获取本机IP地址的几种方法java术语(PO/POJO/VO/BO/DAO/DTO)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C# 跨线程设置TextBox.Text

delegate void SetTextCallback(string text); public Form1(){InitializeComponent();}public void SetText(string text){if (this.textBox1.InvokeRequired){SetTextCallback d = n...

Android ORM——初识greenDAO 3及使用greenDAO 3前应该掌握的一些知识点(一)

引言 总所周知,SQLite——内嵌于Android中一个占用内存极小的关系型,作为我们Android存储领域中重要的一员 ,或多或少都曾接触到数据库。即使Android系统中提供了很多操作SQLite的API,可是在业务开发中还是须要手动去编写原生SQL语句,这不仅复杂、不好维护。更重要的是不高效,经常会由于SQL语句写错而添加了开发成本,于是便出现...

C#导入Excel表格功能aspx.cs(代码)

using System;                                                                                                                        using System.Data;                            ...

第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9057257             由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折,查阅了一番资料,做了一个Demo。实现起来的效果还是不错的,不敢独享,决定写一个总结的教程,供大家互相交...

ftp上传文件

  /// 上传文件   /// </summary>   /// <param name="fileBytes"></param>   /// <param name="originalName"></param>   ///...

Spring batch学习 (1)

          Spring Batch 批处理框架 埃森哲和Spring Source研发                          主要解决批处理数据的问题,包含并行处理,事务处理机制等。具有健壮性 可扩展,和自带的监控功能,并且支持断点和重发。让程序员更加注重于业务实现。           Spring Batch 结构如下      ...