php - 从 Dropbox 下载并上传给用户
问题描述
我从 Dropbox 下载文件并将其提供给用户,但出现了问题:
这是 MODX 的片段,因此返回函数:
<?php
$token='xxxxx';
$url = 'https://content.dropboxapi.com/2/files/download';
$header_array = array(
'Authorization: Bearer ' . $token,
'Content-Type:',
'Dropbox-API-Arg: {"path":"' . "/usersUpload/W4zUKvsYbW8dlWi2XtZkdo5kPzoThXq3rBKkTtkNd7o4BPVDrt.png" . '"}'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_array);
$output_array = array();
$output = curl_exec($ch);
if ($output === FALSE)
{
echo "curl error: " . curl_error($ch);
}else{
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=file.png');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
$return = $response->body;
}
return;
解决方案
将代码移植到单独的 php 文件有助于解决问题。MODX 对返回的值做一些事情。
推荐阅读
- flutter - 是什么导致了这个 Dart Sq3Lite 数据库异常错误?
- data-structures - 在 O(n) 中找到没有 XOR 或 Map 的给定数组中的 1 个非重复元素
- javascript - 使用 RxJS 在 Angular 中使用 HttpClient 的复杂管道链
- javascript - react js客户端的CORS策略问题
- python - 无法将列表添加到烧瓶中的会话
- bootstrap-4 - 当第 n 个指示器被按下时,如何使我的轮播指示器交互并移动到第 n 个轮播项目?
- sql - SQL子查询多列
- r - tidyr::nest - 它有什么用?
- php - 100 个实时用户后 Apache 服务器无法提供网页
- php - Php DOMDocument 将查询应用于子节点而不是完整的 xPath