0

ユーザーがリンクをクリックするとダウンロードを発行する機能を作成しました。ファイルはサードパーティのストレージ サービス (Sugar Sync) にあり、REST API を介してアクセスされます。強制ダウンロード機能を作成し、ローカルホストで正常に動作することをテストしました (ダウンロード ダイアログが表示されます) が、サーバーで機能を実行すると、「ファイルが見つかりません」というエラー ページが返されます。これは、サーバー側で設定する必要がある 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();
4

2 に答える 2

0

ob_get_clean();次のように、印刷機能の前に追加してみてください。

ob_get_clean();
//file is returned as binary data from the API
print($sugarsync->download(urldecode($url)));
exit();
于 2014-02-15T09:39:18.570 に答える
0

結局のところ、さらにトラブルシューティングを行った後、問題は出力バッファリングに関連しているため、サーバー構成でそれを有効にするだけで済みます。

于 2014-02-15T09:33:07.687 に答える