https://help.aliyun.com/document_detail/84781.html?spm=a2c4g.11186623.4.1.7bef59aakn5jmz
Object Storage Service,简称 OSS,是阿里云提供的海量、安全、低成本、高可靠的云存储服务。
它具有与平台无关的RESTful API接口,能够提供99.999999999%的服务持久性。
使用场景:
图片分享
热点视频
下面介绍一些基本功能:
初始化 创建存储空间 上传文件 跨域访问设置 设置读写权限
1.初始化
创建一个OssClient,就可以很方便的调用OSS的方法。
const string accessKeyId = "xxxxxxxxx";
const string accessKeySecret = "xxxxxxxxxx";
const string endpoint = "oss-cn-beijing.aliyuncs.com"; //OSS对应的区域地址
private static OssClient ossClient = new OssClient(endpoint, accessKeyId, accessKeySecret);
2.创建存储空间
很简单,只需要调用OssClient.CreateBucket
ossClient.CreateBucket("myBucket"); //新建一个Bucket
3.设置读写权限
调用OssClient.SetBucketAcl
ossClient.SetBucketAcl("myBucket", CannedAccessControlList.PublicRead); //设置为公共读
CannedAccessControlList有三个属性:Private(私有),PublicRead(公共读),PublicReadWrite(公共读写)
4.跨域访问设置
调用OssClient.SetBucketCors
var req = new SetBucketCorsRequest("myBucket");
var rule = new CORSRule();
//指定允许跨域请求的来源
rule.AddAllowedOrigin("*");
//指定允许的跨域请求方法(GET/PUT/DELETE/POST/HEAD)
rule.AddAllowedMethod("POST");
//控制在OPTIONS预取指令中Access-Control-Request-Headers头中指定的header是否允许。
rule.AddAllowedHeader("*");
req.AddCORSRule(rule);
ossClient.SetBucketCors(req);
5.上传文件
调用OssClient.PutObject
var result = ossClient.PutObject("myBucket", "111.mp4", @"d:\237badef-0f6d-4a8e-a634-a44c9704b6e6.mp4");
Console.WriteLine(result.ETag);
6.列出存储空间中的所有文件
调用ossClient.ListObjects
var listObjectsRequest = new ListObjectsRequest("myBucket");
var result = ossClient.ListObjects(listObjectsRequest);
Console.WriteLine("List objects succeeded");
foreach (var summary in result.ObjectSummaries)
{
Console.WriteLine("File name:{0}", summary.Key);
}
详细笔记-jsweb直接提交:
http://www.cnblogs.com/wumian1360/p/8486726.html
阿里事例:
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// 创建OSSClient实例。
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
// 上传文件。<yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt。
ossClient.putObject("<yourBucketName>", "<yourObjectName>", new File("<yourLocalFile>"));
// 关闭OSSClient。
ossClient.shutdown();
记录;
@Autowired
private OdsConfig config;
public String put(String key, String name, InputStream io, long length, String contentType) {
OSSClient client = new OSSClient(config.getEndpoint(), config.getAk(), config.getSk());
ObjectMetadata meta = new ObjectMetadata();
meta.setContentLength(length);
meta.setContentType(contentType);
String path = key + "/" + name;
PutObjectResult result = client.putObject(config.getBucket(), path, io, meta);
System.out.println(meta.getETag());
System.out.println(result.getETag());
return config.getBaseUrl() + "/" + path;
}
@Test
public void testPutObject() throws IOException {
String filename = "dog.png";
File file = new File("D:\\" + filename);
InputStream io = FileUtils.openInputStream(file);
long length = file.length();
String url = ossService.put("animals", filename, io, length, "");
System.out.println(url);
}