开发者社区> 问答> 正文

java创建OSSClient问题

OSSClient client = new OSSClient(ossEndPoint, accessId, accessKey);
如果创建OSSClient的用户名或密码错误时为什么不会有提示,怎样可以测试accessId或accessKey正确?

boolean exists = client.doesBucketExist(bucketName);
判断bucketName是否存在会一直返回true,无论任何时候都是true

能否获取上传文件的进度?

展开
收起
harvey91 2015-11-04 11:31:08 9556 0
3 条回答
写回答
取消 提交回答
  • 回 2楼harvey91的帖子
    hi,其实大文件上传想知道进度的话还有一种做法。
    举个例子,你的文件有1GB这么大,采用multipart上传的方式,每个part的大小定为1MB,1BM的文件上传是一个很快的过程,总共就有1024个part,只要知道当前有多少个part上传完比上总的part数也就知道整体的上传进度了。
    楼主不妨试试~
    2015-11-07 16:06:55
    赞同 展开评论 打赏
  • 回1楼莫名的帖子
    谢谢你的回答,
    1、如果是新用户,调用listBucket返回的list的Size是0,也不能判断accessid\accesskey是否正确吧?
    2、我故意输入错误的accessid\accesskey,这样判断bucket是否存在返回的都是true,下面是我的代码:
    public boolean doesBucketExist(String bucketName){
            OSSClient client = new OSSClient(ossEndPoint, accessId, accessKey);
            boolean exists = client.doesBucketExist(bucketName);
            closeOSSClient(client);
            return exists;
        }
    3、因为上传大文件时,时间过长,前端不能知道是否上传成功,没有进度条实在不方便,希望尽快解决,谢谢!
    2015-11-05 11:18:31
    赞同 展开评论 打赏
  • 回楼主harvey91的帖子
    lz你好,
    1、创建OSSClient时不会检查accessid\accesskey,只有真正发送请求时才会检查,可以通过调用listBuckets接口测试。
    2、bucket不存在时也会返回true么?
    3、目前还不可以获取进度,后续会考虑这个功能。

    -------------------------

    回2楼harvey91的帖子
    1、返回为0也可以判断accessid\accesskey是正确的,只要不抛出OSSException/ClientException异常就代表请求成功。
    accessid不对时抛出accessid不存在的异常:
    com.aliyun.oss.OSSException: The OSS Access Key Id you provided does not exist in our records.
    [ErrorCode]: InvalidAccessKeyId
    [RequestId]: 563C0A66207FB3AD700D19BF
    [HostId]: oss-test.aliyun-inc.com

    accesskey不正确抛出签名异常:
    com.aliyun.oss.OSSException: The request signature we calculated does not match the signature you provided. Check your key and signing method.
    [ErrorCode]: SignatureDoesNotMatch
    [RequestId]: 563C0C2E207FB3AD700D3078
    [HostId]: oss-test.aliyun-inc.com

    2、故意输入错误的accessid\accesskey,分为两种情况:bucket存在时则返回true,说明这个bucket真实存在;bucket不存在则返回false,可以这样认为,bucket的存在性跟accessid\accesskey无关。
    3、非常感谢你的建议,这一需求我们会尽快在下一个版本解决。
    2015-11-05 09:39:17
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载