在脚本中上传Dropbox

我有一个表单,允许用户填写几个方面,然后选择要上传的文件。

当提交表单时,我想写一些代码将文件保存到Dropbox帐户,并获得直接下载链接并将其放入我所托管的数据库中。

如果有人这样做了,是否有API的特定部分来看? 或者任何例子?

我似乎无法在API中找到它。

谢谢。


从我在API中看到的,可以做到这一点。 您需要下载Dropbox Core API。 在zip文件中,您将找到一个示例文件夹,其中包含用于验证,上传,下载,直接链接等的示例代码。 只要看到direct-link.php并将其更改为您的需求即可。 下面是一个经过测试的上传文件并生成直接下载链接的示例:

<?php

require_once "dropbox-php-sdk-1.1.2/lib/Dropbox/autoload.php";

use Dropbox as dbx;

$dropbox_config = array(
    'key'    => 'your_key',
    'secret' => 'your_secret'
);

$appInfo = dbxAppInfo::loadFromJson($dropbox_config);
$webAuth = new dbxWebAuthNoRedirect($appInfo, "PHP-Example/1.0");

$authorizeUrl = $webAuth->start();
echo "1. Go to: " . $authorizeUrl . "<br>";
echo "2. Click "Allow" (you might have to log in first).<br>";
echo "3. Copy the authorization code and insert it into $authCode.<br>";

$authCode = trim('DjsR-iGv4PAAAAAAAAAAAbn9snrWyk9Sqrr2vsdAOm0');

list($accessToken, $dropboxUserId) = $webAuth->finish($authCode);
echo "Access Token: " . $accessToken . "<br>";

$dbxClient = new dbxClient($accessToken, "PHP-Example/1.0");

// Uploading the file
$f = fopen("working-draft.txt", "rb");
$result = $dbxClient->uploadFile("/working-draft.txt", dbxWriteMode::add(), $f);
fclose($f);
print_r($result);

// Get file info
$file = $dbxClient->getMetadata('/working-draft.txt');

// sending the direct link:
$dropboxPath = $file['path'];
$pathError = dbxPath::findError($dropboxPath);
if ($pathError !== null) {
    fwrite(STDERR, "Invalid <dropbox-path>: $pathErrorn");
    die;
}

// The $link is an array!
$link = $dbxClient->createTemporaryDirectLink($dropboxPath);
// adding ?dl=1 to the link will force the file to be downloaded by the client.
$dw_link = $link[0]."?dl=1";

echo "Download link: ".$dw_link."<br>";

?>

为了让它工作,我做得非常快。 最终你可能需要稍微调整一下,以满足你的需求。


核心API手册中有部分内容,请参阅此链接。 所以你可以使用这样的上传部分:

$f = file_get_contents('data.txt');
$result = $dbxClient->uploadFile("/data.txt", dbxWriteMode::add(), $f);

echo 'file uploaded';
链接地址: http://www.djcxy.com/p/69079.html

上一篇: Dropbox uploading within script

下一篇: Uploading new resisions for files in dropbox