0

我想将我的资产存储在云中。我认为 Zend_Cloud_Storage 可能是正确的库?现在它们使用 Zend_Cloud_StorageService_Adapter_Filesystem 保存在本地。上传作品到目前为止。

将文件从 Zend_Cloud_StorageService_Adapter_Filesystem 发送到浏览器的正确方法是什么?我想这只有通过 php 流式传输才能实现?如果是的话,任何代码示例都在那里,因为我无法让它与所有文件头一起工作。

使用 S3 我可能会进行重定向或直接将文件链接到 s3 存储桶?

我对云存储还很陌生,所以非常感谢您的帮助。

亲切的问候,曼努埃尔

4

1 回答 1

1

Zend Cloud 服务相当新,根据我的经验,文档仍然需要一些工作。根据云服务,您可以选择获取对象并将其交付给用户,或者在某些情况下,您可以为用户提供资产的直接 URL(这在很大程度上取决于您是否需要控制对对象的访问)。

要以编程方式获取项目,您应该能够使其与正确的标题一起使用,例如:

$image = $storage->fetchItem("/my/remote/path/picture.jpg");
header("content-type: image/jpg");
echo file_get_contents($image);

理论上,您可以从元数据中获取标头的内容类型,但我不确定适配器之间是否一致。

直接链接取决于您的云。对于文件系统,您应该知道文件所在的路径,因此如果可以访问它们,您可以从那里链接。在 Amazon 中,您可以在上传文件时将权限设置为 public - S3 doco 中有一个示例here

我建议看一下Zend Service S3 doco,Zend Cloud 只是它的一个包装器,并且在尝试通用时它失去了很多功能。如果您长时间使用它,我怀疑您最终会直接调用该服务。

祝你好运!

于 2012-06-13T01:32:54.067 回答