【问题标题】:Uploading file to the cloud using cloudmanic-storage使用 cloudmanic-storage 将文件上传到云端
【发布时间】:2012-11-06 04:54:26
【问题描述】:

我正在尝试使用 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 版本 2.0.2 来自 github 的最新 cloudmanic-storage

【问题讨论】:

    标签: codeigniter rackspace-cloud


    【解决方案1】:

    好像还没有定义类型,guess函数猜不出文件是什么。

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

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

    $type="image/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;
        }
    

    希望这对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 2018-10-31
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      相关资源
      最近更新 更多