1

如何使用 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 方法?

4

1 回答 1

0

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

您还可以将库中的 DEBUG const 设置为 true 并将调试信息写入错误日志。这可能会帮助您找出问题出在哪里。

于 2013-02-22T04:25:35.003 回答