aliyun-oss-rust-sdk
阿里云 © Alibaba Cloud Official Oss SDK (标准库)
使用指南
文件下载
use OSS;
use RequestBuilder;
let oss = OSSfrom_env;
let build = new;
let bytes = oss.get_object.unwrap;
println!;
签名下载
自定义域名/限速下载/过期时间/自定义content-type
use ;
use UrlApi;
let oss = OSSnew;
let build = new
.with_expire
//.with_cdn("https://mydomain.com") //使用cdn后,无法限制ip访问
.oss_download_speed_limit;
let download_url = oss.sign_download_url;
println!;
签名上传
. 允许前端简单上传文件,精确控制请用功能4:获取上传对象的policy方式上传
. 自定义域名/限速上传/过期时间/自定义content-type
use ;
use UrlApi;
let oss = OSSfrom_env;//也可以使用OSS::new()方法传递参数
let build = new
//.with_cdn("https://mydomain.com")
.with_content_type //设置上传文件的content-type
.with_expire; //60秒链接过期
let upload_url = oss.sign_upload_url;
println!;
//使用postman测试上传即可,PS:要注意content-type要和build中的一致
获取上传对象的policy
用于前端直传可精确控制上传文件的类型、大小、过期时间、上传目录等
use PolicyBuilder;
use OSS;
let oss = OSSfrom_env;
let policy_builder = new
.with_expire//1个小时过期
.with_upload_dir//上传目录
.with_content_type//只允许上传文本.txt
.with_max_upload_size;//只允许文件上传大小1G以内
let policy = oss.get_upload_object_policy.unwrap;
println!;
//使用postman测试上传
//form-data的参数为OSSAccessKeyId、policy、signature、success_action_status、key、file
//key为上传的文件名包含路径、例如:upload/mydir/test.txt
//file为上传的文件,类型跟with_content_type一致
上传本地文件
use OSS;
use RequestBuilder;
let oss = OSSfrom_env;
let builder = new
.with_expire;
let file_path = "./hello.txt";
oss.put_object_from_file.unwrap;
上传内存文件
use OSS;
use RequestBuilder;
let oss = OSSfrom_env;
let builder = new
.with_expire;
let file_path = "./hello.txt";
let buffer = read.unwrap;
oss.pub_object_from_buffer.unwrap;
文件删除
use OSS;
use RequestBuilder;
let oss = OSSfrom_env;
let builder = new
.with_expire;
oss.delete_object.unwrap;