【发布时间】:2019-02-04 09:07:29
【问题描述】:
我正在将文件上传到基于 laravel 构建的 API。在我下面的代码中,数据被发送到 API。但是我怎样才能得到上传到 API 的文件呢?
控制器
$file = $request->file('imported-file');
$name = $file->getClientOriginalName();
$path ='/Users/desktop/Folder/laravelapp/public/Voice/';
$client = new \GuzzleHttp\Client();
$fileinfo = array(
'message' => 'Testing content',
'recipient' => "102425",
);
$res = $client->request('POST', $url, [
'multipart' => [
[
'name' => 'FileContents',
'contents' => file_get_contents($path . $name),
'filename' => $name
],
[
'name' => 'FileInfo',
'contents' => json_encode($fileinfo)
]
],
]);
API 控制器
if (!empty('FileInfo')) {
return response()->json([
'status' => 'error',
'file_content' => $request->file('FileContents'),
'media'=>$request->hasFile('FileContents'),
]);
}
这是回复,我收到"file":null,"file_content":{},"media":true
为什么media表示真意有文件时,文件内容为空?
【问题讨论】:
-
如何将文件发送到控制器?