【发布时间】:2018-10-14 13:25:21
【问题描述】:
以下端点成功接收来自浏览器的文件。接下来我希望将此文件或流发送到另一个恰好也在使用 Slim 的服务器。我显然知道如何在另一台服务器上接收文件,就像我在这里所做的那样,但不知道如何将此文件/流发送到另一台服务器。这是如何实现的。谢谢
$app->post(_VER_.'/tools/import', function (Request $request, Response $response) {
$uploadedFiles = $request->getUploadedFiles();
$files = $request->getUploadedFiles();
if (empty($files['file'])) {
throw new \Exception('"file" is missing');
}
$file = $files['file'];
syslog(LOG_INFO, 'name: '.$file->getClientFilename().' type: '.$file->getClientMediaType().' size: '.$file->getSize());
$stream=$file->getStream();
syslog(LOG_INFO, 'stream size: '.$stream->getSize());
});
输出:
Oct 14 13:19:18 devServer API[62322]: name: report (17).csv type: application/vnd.ms-excel size: 451090
Oct 14 13:19:18 devServer API[62322]: stream size: 451090
【问题讨论】:
-
问题是你想如何将文件发送到其他服务器?通过 http、ftp 等?
-
@DanielO 好点。对不起。使用 HTTP。
-
使用 curl 可以实现 http 文件上传。这是example。
-
@DanielO 是的,我可以从头开始这样做,但不知道是否有“苗条”的方式来这样做。 PS。应该使用
CURLFile。 -
Afaik,这里没有特定的 Slim 方式,因为 Slim 不负责此类用例。