0
  1. 如何在 Bluemix Object Storage 中通过 url 访问文件?
  2. 有没有办法让容器公开?
  3. 如何仅通过在浏览器中输入 url 来访问对象存储中的文件?
  4. 如何通过 url 检索图像以在 html 中显示?
4

3 回答 3

1

您可以使用 swift 命令行创建一个临时 URL,以提供对您的对象存储文件的公共访问。

首先你必须设置 swift CLI,你可以在这个链接上找到步骤。

为您的环境配置 swift cli 后,您可以运行以下命令为您的文件创建临时 URL:

swift stat

找到您的帐户字段(以 AUTH_ 开头)

swift post -m "Temp-URL-Key:<key>"

设置密钥

 swift stat

验证已创建密钥

swift tempurl GET <seconds> <path> <key>

创建临时 URL

然后,您可以通过以下 URL 访问该文件:

https://<access point>/<API version>/AUTH_<project ID>/<container namespace>/<object namespace>

完整的详细信息可在此处的对象存储文档中找到。

于 2016-09-24T20:08:51.817 回答
1

我在这里写了一条评论: Bluemix 对象存储服务中对象的公共 URL BlueMix 仍在使用 swift,但 S3 API 是最可靠的。

所以回答你的问题:

How can I access files by url in Bluemix Object Storage?

上传图片后(例如),您必须使用可以访问您的图片并将其公开的工具(它将在对象的属性中添加公共 acl)。例如,您可以使用 Cloudberry 或 S3 浏览器并使用“公开”功能。

Is there a way to make the container public?

您的 contenair 将在 bluemix 中运行,但该服务可以创建一个公共 URL。是的。

How can I access the file in Object Storage just by typing the url in the browser?

这是我在我的对象存储上公开的图像示例: https ://s3-api.dal-us-geo.objectstorage.softlayer.net/mourad-bucket-rasp-1/OBAMA.jpg 你可以这样做在将 acl 添加到“公共读取”后使用任何浏览器(同样,如果您使用 python 和 boto3 sdk,请在此处查看我的帖子:Bluemix 对象存储服务中对象的公共 URL

How can I retrieve an image by url to display it in html?

有几种方法可以做到这一点,因为它现在有一个公共 URL,并且 ul 的第一部分不会改变,只有对象的名称会改变,只需使用变量(如存储桶、名称等)调用您的 URL

完整的 API 参考已经发布,在这里

于 2016-12-21T08:54:51.477 回答
0

最后,这些命令也拯救了这一天

首先使用swift和更改容器的访问控制

swift post container-name --read-acl ".r:*,.rlistings"

Next 使用 Curl 将容器配置到特定的 Url 以访问文件

curl -X GET " https://<access point>/<version>/AUTH_projectID/container-name" -H "X-Auth-Token:<auth token>"     -H "X-Container-Read: .r:*,.rlistings"

也非常感谢 Alex da Silva 提供的帮助

于 2016-09-26T18:51:43.533 回答