百度云存储 BCS 文件上传,权限设置问题

xiaobluesky 2014-01-03 08:36:55
图片上传的时候,存放在 百度云上,可是上传后,全变成私有,再想在APP里面用,就没法用了。

想在上传的时候设置,公开。

百度云的ACL说明也看了,说的不清不楚的,请各位大神指点。。


public static void putObjectByFile(BaiduBCS baiduBCS, File file)
throws Exception {
System.out.println("1");
PutObjectRequest request = new PutObjectRequest(bucket, objectName, file);

System.out.println("2");
ObjectMetadata metadata = new ObjectMetadata();

System.out.println("3");
request.setMetadata(metadata);

System.out.println("4");

/*测试设置权限,有问题
//statement
Statement statement = new Statement();
statement.addAction(PolicyAction.all);
statement.addUser("*");
statement.addResource(bucket + objectName);
statement.setEffect(PolicyEffect.allow);

//Policy
Policy policy =new Policy();
policy.addStatements(statement);

//设置Policy,这段百度的API 也有问题.
baiduBCS.putObjectPolicy(bucket,objectName, policy);
*/

BaiduBCSResponse<ObjectMetadata> response = baiduBCS.putObject(request);
LogUtils.logi("UploadUtils", "---UploadUtils---result:" + request);

System.out.println("5");
ObjectMetadata objectMetadata = response.getResult();

LogUtils.logi("UploadUtils", "---UploadUtils---result:"
+ objectMetadata);

}

...全文
321 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaojieli007 2014-01-08
  • 打赏
  • 举报
回复
PutObjectRequest request = new PutObjectRequest(bucket, objectName, file);
request.setAcl(X_BS_ACL.PublicRead);
xiaobluesky 2014-01-08
  • 打赏
  • 举报
回复
呵呵,其实很简单。。

		BCSCredentials credentials = new BCSCredentials(accessKey, secretKey);
		BaiduBCS baiduBCS = new BaiduBCS(credentials, host);
		baiduBCS.setDefaultEncoding("UTF-8"); // Default UTF-8

		putBucketPolicyByX_BS_ACL(baiduBCS,X_BS_ACL.PublicControl);
iltgcl 2014-01-06
  • 打赏
  • 举报
回复
接分,順便說說解決方案呀。
xiaobluesky 2014-01-05
  • 打赏
  • 举报
回复
这整的。。。都没人来的~ 我已经找到怎么解决了~ 当散分贴了~ 进来就给粉。。

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧