开发者社区> 问答> 正文

对象存储 OSS指定限定条件下载

已解决

展开
收起
游客36g3dyfqs3nzq 2018-02-26 22:58:02 809 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    下载文件时,用户可以指定一个或多个限定条件,所有的限定条件都满足时下载,不满足时报错不下载文件。 可以使用的限定条件如下:

    参数 说明
    IfModifiedSince 如果指定的时间早于实际修改时间,则正常传送。否则返回错误。
    IfUnmodifiedSince 如果传入参数中的时间等于或者晚于文件实际修改时间,则正常传输文件;否则返回错误。
    IfMatch 如果传入期望的ETag和object的 ETag匹配,则正常传输;否则返回错误。
    IfNoneMatch 如果传入的ETag值和Object的ETag不匹配,则正常传输;否则返回错误。
        import "time"
        import "github.com/aliyun/aliyun-oss-go-sdk/oss"
    
        client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
        if err != nil {
            // HandleError(err)
        }
    
        bucket, err := client.Bucket("my-bucket")
        if err != nil {
            // HandleError(err)
        }
    
        date := time.Date(2015, time.November, 10, 23, 0, 0, 0, time.UTC)
    
        // 限定条件不满足,不下载文件
        err = bucket.GetObjectToFile("my-object", "LocalFile", oss.IfModifiedSince(date))
        if err == nil {
            // HandleError(err)
        }
    
        // 满足限定条件,下载文件
        err = bucket.GetObjectToFile("my-object", "LocalFile", oss.IfUnmodifiedSince(date))
        if err != nil {
            // HandleError(err)
        }
    

    提示:

    • ETag的值可以通过Bucket.GetObjectDetailedMeta获取。
    • Bucket.GetObject,Bucket.GetObjectToFile,Bucket.DownloadFile都支持限定条件。
    2018-03-04 01:50:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载