将文件发布到 API
Posting Files to API
我正在 post 使用 "guzzlehttp/guzzle": "6.3"
将图像发送到我的 API。当我 post 图片到我的 API 时,我使用 hasFile().
检查文件时得到 false
可能是文件没有提交到我的 [=26] =]?
控制器
$client = new Client();
$url = 'http://localhost:9000/api';
$path = 'app/public/images/';
$name = '94.jpeg';
$myBody['fileinfo'] = ['449232323023'];
$myBody['image'] = file_get_contents($path.$name);
$request = $client->post($url, ['form_params' => $myBody]);
$response = $request->getBody();
return $response;
API
if (!$request->hasFile('image')) {
return response()->json([
'message' => 'No file',
'photo' => $request->hasFile('image'),
'photo_size' => $request->file('image')->getSize()
]);
}
您需要将 form_params
添加到 multipart
数组:
// untested code
$client = new Client();
$endpoint = 'http://localhost:9000/api';
$filename = '94.jpeg';
$image = public_path('images/' . $filename);
$request = $client->post($endpoint, [
'multipart' => [
[
'name' => 'fileinfo',
'contents' => '449232323023',
],
[
'name' => 'file',
'contents' => fopen($image, 'r'),
],
],
]);
$response = $request->getBody();
return $response;
我正在 post 使用 "guzzlehttp/guzzle": "6.3"
将图像发送到我的 API。当我 post 图片到我的 API 时,我使用 hasFile().
检查文件时得到 false
可能是文件没有提交到我的 [=26] =]?
控制器
$client = new Client();
$url = 'http://localhost:9000/api';
$path = 'app/public/images/';
$name = '94.jpeg';
$myBody['fileinfo'] = ['449232323023'];
$myBody['image'] = file_get_contents($path.$name);
$request = $client->post($url, ['form_params' => $myBody]);
$response = $request->getBody();
return $response;
API
if (!$request->hasFile('image')) {
return response()->json([
'message' => 'No file',
'photo' => $request->hasFile('image'),
'photo_size' => $request->file('image')->getSize()
]);
}
您需要将 form_params
添加到 multipart
数组:
// untested code
$client = new Client();
$endpoint = 'http://localhost:9000/api';
$filename = '94.jpeg';
$image = public_path('images/' . $filename);
$request = $client->post($endpoint, [
'multipart' => [
[
'name' => 'fileinfo',
'contents' => '449232323023',
],
[
'name' => 'file',
'contents' => fopen($image, 'r'),
],
],
]);
$response = $request->getBody();
return $response;