使用php中的dropbox api在dropbox中上传图像文件

时间:2012-09-09 13:49:23

标签: php dropbox-api

如何使用适用于CodeIgniter的Jimscode PHP Dropbox组件将图像文件上传到Dropbox?它使用add()方法上传文件。它成功地将所有其他文件类型(例如pdf)上传到Dropbox。但是当我上传图像文件时,它会将空文件上传到Dropbox。这是0字节,无法在Dropbox中预览该图像。我的代码:

public function add($dbpath, $filepath, array $params = array(), $root=self::DEFAULT_ROOT)
    {
        $dbpath = str_replace(' ', '%20', $dbpath);
        $filename = rawurlencode($filepath);
        $parstr = empty($params) ? '' : '&'.http_build_query($params);
        $uri = "/files_put/{$root}/{$dbpath}?file={$filename}{$parstr}";
        //$uri = reduce_double_slashes("/files/{$root}/{$dbpath}?file={$filename}{$parstr}");
        $specialhost = 'api-content.dropbox.com';
        return $this->_post_request($uri, array('file'=>'@'.$filepath), $specialhost);
    }

我是否可以直接使用curl和PHP的API方法?

1 个答案:

答案 0 :(得分:0)

我不确定您使用的是哪个版本但是reduce_double_slashes行没有正常注释掉。这不会导致某些文件类型上传而不会导致其他文件类型。是单个图像失败还是无法上传每张图片。

您还可以将库中的DEBUG const设置为true,并将调试信息写入错误日志。这可能有助于您找出问题发生的位置。