0

我正在尝试使用 codeigniter 和 cloudmanic-storage 库将我的文件从服务器上传到 CDN。创建/列出容器的功能有效,但向容器添加文件的功能无效。

我不知道它有什么问题或如何解决这个问题,所以如果有人遇到这个问题,分享一些知识会很棒:)

$container = 'cm-storage-' . time();
    echo '<h1>Create test container.</h1>';
    $this->storage->create_container($container, 'private');
    echo "New container: <b>$container</b><br /><br />";
    echo '<hr />';
            $file = "_data/articlepics/big_".$config['file_name'];
    $this->storage->upload_file($container, $file, 'test01.jpg');

我确定我尝试上传的文件存在,当我使用示例控制器尝试时,问题仍然存在。由于某种原因,它只是不想将文件上传到 CDN。

Codeigniter ver.2.0.2 来自 github 的最新 cloudmanic-storage

4

1 回答 1

0

似乎类型尚未定义,guess 函数无法猜测文件是什么。

我所做的是在控制器中上传/调整文件大小时整理文件,然后(在我知道扩展名之后)只需将文件类型添加到rackspace_rc_driver.php

function upload_file($cont, $path, $name, $type = NULL, $acl = 'private', $metadata = array())
    {       

$type="图像/JPEG";

$my_container = $this->_conn->get_container($cont);

        // move local file to server        
        $my_object = $my_container->create_object($name);

        // If we pass in a type we don't try to guess the type.
        if(! is_null($type))
        {
            $my_object->content_type = $type;
        }
        //echo $path;die();
        $my_object->load_from_filename($path);

        return ($my_object->container->cdn_enabled) ? $my_object->container->cdn_uri . '/' . $my_object->name : $my_object->name;
    }

希望这对其他人有帮助。

于 2012-11-06T09:51:27.710 回答