将文件从Dropbox流式传输到用户的浏览器

时间:2013-06-24 12:13:58

标签: php dropbox dropbox-api

以下代码来自Dropbox API,用于将文件从用户的保管箱帐户下载到发出API请求的网络服务器。

$f = fopen("working-draft.txt", "w+b");
$fileMetadata = $dbxClient->getFile("/working-draft.txt", $f);
fclose($f);
print_r($fileMetadata);

但是,我不想将文件下载到Web服务器,而是将文件发送给用户(逐字节地传输文件)。这可能吗?

2 个答案:

答案 0 :(得分:5)

是的,Dropbox API提供“媒体”调用,该调用返回指向您可以传递给客户端以供使用的文件的直接链接(例如,在本地流式传输):

https://www.dropbox.com/developers/core/docs#media

这对应于PHP SDK中的“createTemporaryDirectLink”方法:

http://dropbox.github.io/dropbox-sdk-php/api-docs/v1.0.x/source-class-Dropbox.Client.html#948-977

答案 1 :(得分:0)

$f = fopen("php://output", "w+b");
$fileMetadata = $dbxClient->getFile("/working-draft.txt", $f);
header($fileMetadata['mime_type']);
fclose($f);