【问题标题】:Issue uploading images/non text files to Rackspace Cloudfiles (MisMatchedChecksumException) via PHP API通过 PHP API 将图像/非文本文件上传到 Rackspace Cloudfiles (MisMatchedChecksumException)
【发布时间】:2011-09-28 19:23:21
【问题描述】:

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

我可以上传任何基于文本的内容(文本/html、文本/纯文本等),但我尝试的其他任何内容都因 MisMatchedChecksumException 而失败,据我了解,这意味着我的 md5_file() 没有最后匹配他们的计算?

如果我未设置 etag(因此未进行此检查),则文件已上传但不正确,例如图像大小相同但不渲染?

有没有人有关于如何克服这个问题的任何提示?

【问题讨论】:

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


    【解决方案1】:

    下面的代码对我来说很好,你能显示一个不起作用的sn-p吗?

        $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');
    

    【讨论】:

    • 感谢您的回答,我发现这是我的 PHP 版本/安装的问题,我在另一台机器上尝试过,它工作正常!
    • 我来到这篇文章时遇到了上述问题中描述的相同“MisMatchedChecksumException”问题。我将我的代码更新为这个答案中显示的代码,这对我有用。我不必进行任何 PHP 版本/安装更改。我现在正在运行。谢谢。
    猜你喜欢
    • 2011-01-13
    • 2011-09-23
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多