将修改文件更新到 Rackspace 云

发布于 2024-12-03 09:04:21 字数 472 浏览 4 评论 0原文

如何将文件更新到rackspace api?我已经尝试了几种方法,例如下面的代码,并且只有当我上传图像两次时它才有效。有办法这样做吗?

public function updateRackSpaceFile($file_name, $file_location, $container_name='photos'){
        $auth=self::getAuthorization();

        $conn = new \CF_Connection($auth);
        $container_object = $conn->get_container($container_name);
        $object=$container_object -> get_object($file_name);
        $object ->load_from_filename($file_location);
    }

How can I update files to rackspace api? I've tried several things like the code below, and it only works if I upload the image twice. Is there anyway of doing this?

public function updateRackSpaceFile($file_name, $file_location, $container_name='photos'){
        $auth=self::getAuthorization();

        $conn = new \CF_Connection($auth);
        $container_object = $conn->get_container($container_name);
        $object=$container_object -> get_object($file_name);
        $object ->load_from_filename($file_location);
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贵在坚持 2024-12-10 09:04:21

我认为你不需要对这个对象进行获取。只需创建一个新对象并上传即可。它将替换具有相同名称的对象。

    $fname = basename('image.jpg');
    $md5 = md5_file($fname);
    $container = $conn->get_container('my_container');
    $o2 = $container->create_object($fname);
    $o2->content_type = "image/jpeg";
    $o2->set_etag($md5);
    $result = $o2->load_from_filename($fname);
    assert('!is_null($result)');
    assert('$o2->getETag() == $md5');

I don't think you need to do a get on the object. Simply create a new object and upload. It will replace the object with the same name.

    $fname = basename('image.jpg');
    $md5 = md5_file($fname);
    $container = $conn->get_container('my_container');
    $o2 = $container->create_object($fname);
    $o2->content_type = "image/jpeg";
    $o2->set_etag($md5);
    $result = $o2->load_from_filename($fname);
    assert('!is_null($result)');
    assert('$o2->getETag() == $md5');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文