我正在使用dropbox php sdk,我想通过浏览器下载该文件。我有一个文件预览链接但是要了解我该如何下载文件。我正在使用函数
function GetLink($dropbox_file, $preview=true, $short=true, &$expires=null)
{
if(is_object($dropbox_file) && !empty($dropbox_file->path)) $dropbox_file = $dropbox_file->path;
$url = $this->apiCall(($preview?"shares":"media")."/$this->rootPath/$dropbox_file", "POST", array('locale' => null, 'short_url'=> $preview ? $short : null));
$expires = strtotime($url->expires);
return $url->url;
}
这会生成一个预览文件的链接,如https://db.tt/S3znA2kE,如果我打开此链接,则会显示https://www.dropbox.com/s/64h549xaofsm67p/readme.txt 我知道文件可以下载,如果我将通过?dl = 1,但不能理解如何
答案 0 :(得分:2)
两种可能性:
short
参数中,因此获得一个很长的URL开头。然后,您可以直接使用dl=1
参数。如果由于某种原因,您需要获取一个简短的URL,则可以通过执行HTTP HEAD并查看返回的Location
标头来扩展它。例如。 (使用curl
):
$ curl -I https://db.tt/S3znA2kE
HTTP/1.1 302 FOUND
Server: nginx
Date: Thu, 07 Aug 2014 21:16:19 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
location: https://www.dropbox.com/s/64h549xaofsm67p/readme.txt
pragma: no-cache
cache-control: no-cache
获得完整展开的网址后,您可以对其进行修改以使用dl=1
参数。
答案 1 :(得分:1)
然后您可能需要使用this示例抓取实际网址,或者我认为您可以获取内容并指向DOM并回到网址。