无法使用WordPress使用Php API Dropbox在Dropbox中创建文件夹

时间:2013-12-06 06:06:34

标签: php wordpress dropbox-api

当用户上传文件时,应该使用用户名作为文件夹名称在保管箱中自动创建文件夹。然后,用户上传的文件应保存在该文件夹中。 抛出错误: “ 错误:无法找到uri的资源:https://api.dropbox.com/1/metadata/dropbox/sweety。“

代码是

// Upload
$wpschunks = explode("/",$wpsdbTmpFile);
for($i = 0; $i < count($wpschunks); $i++) {
    $c = $i;
}
global $current_user;
$wpuserid = $current_user->data->ID;
$wpusername = $current_user->data->user_login;
$newfoldername = $wpusername;

// echo trim($wpsdb_path,'/').' //\\ ';
$folderMetadata = $dropbox->getMetaData(trim($wpsdb_path, '/') . '/' . $newfoldername, true);

if (!$folderMetadata['is_dir']) {
    $dropbox->CreateFolder(trim($wpsdb_path, '/') . '/' . $newfoldername, "dropbox");
    if ( !$dropbox->putFile(trim($wpsdb_path,'/').'/'.$newfoldername.'/'.$wpschunks[$c], $wpstmpFile,"dropbox") ) {
        throw new Exception(__('ERROR! Upload Failed.','simpleDbUpload'));
    }
    if($wpsdb_delete_file == "True") {
        if (isset($wpsdbTmpFile) && file_exists($wpsdbTmpFile)) {
            unlink($wpsdbTmpFile);
        }
    }
}

注意: 当我们在Dropbox中手动创建空白文件夹然后将其删除然后如果我们尝试上传文件,则会自动创建文件夹(使用此代码),文件也会上传。

1 个答案:

答案 0 :(得分:0)

我不知道“2010的api版本”是什么意思。 :-)我不知道Wordpress插件基于什么库,但看起来在这一个,当你请求不存在的路径的元数据时会引发错误。我不明白为什么这是一个问题...只是处理错误并继续?

作为替代方案,您根本无法创建文件夹。将文件上传到Dropbox中时,会在Dropbox中隐式创建文件夹。所以你可以直接进入$dropbox->putFile()调用并跳过检查文件夹并创建它(如果它尚不存在)。