我创建了一个功能,一旦用户单击链接,就会发出下载,该文件位于第 3 方存储服务(Sugar Sync)中,可通过他们的 REST API 访问。现在我已经创建了强制下载功能并测试了它在 localhost 上运行良好(提示下载对话框),但是当我在服务器上运行该功能时,它返回一个“找不到文件”的错误页面。我认为这可能是一些需要在服务器端设置的 PHP 配置,但我不知道是哪一个,因此非常感谢任何帮助或提示。
这是代码片段:
$sugarsync = new SugarSync($refreshtoken);
$response = $sugarsync->get($url);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Content-Type: ".$response->mediaType);
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".$response->displayName.";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$response->size);
//file is returned as binary data from the API
print($sugarsync->download(urldecode($url)));
exit();