当用户上传文件时,应该使用用户名作为文件夹名称在保管箱中自动创建文件夹。然后,用户上传的文件应保存在该文件夹中。 抛出错误: “ 错误:无法找到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中手动创建空白文件夹然后将其删除然后如果我们尝试上传文件,则会自动创建文件夹(使用此代码),文件也会上传。
答案 0 :(得分:0)
我不知道“2010的api版本”是什么意思。 :-)我不知道Wordpress插件基于什么库,但看起来在这一个,当你请求不存在的路径的元数据时会引发错误。我不明白为什么这是一个问题...只是处理错误并继续?
作为替代方案,您根本无法创建文件夹。将文件上传到Dropbox中时,会在Dropbox中隐式创建文件夹。所以你可以直接进入$dropbox->putFile()
调用并跳过检查文件夹并创建它(如果它尚不存在)。