通过PHP API将图像/非文本文件上传到Rackspace Cloudfiles(MisMatchedChecksumException)

时间:2011-09-28 19:23:21

标签: php file-upload rackspace-cloud rackspace cloudfiles

我在向Rackspace Cloudfiles上传时遇到问题。

我可以上传任何基于文本的内容(text / html,text / plain等),但我尝试的其他任何东西都失败了MisMatchedChecksumException,据我所知,这意味着我端的md5_file()没有在他们结束时匹配他们的计算?

如果我没有设置etag(因此没有进行此检查)文件已上传但不正确,因此例如图片大小相同但只是不呈现?

有没有人知道如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

以下代码对我来说很好,你能展示一个不起作用的片段吗?

    $fname = basename('test.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');