我的控制器中有以下代码:
public function upload(Request $request)
{
$files = $request->file('uploads');
if(!empty($files)) {
foreach($files as $file) {
Storage::put($file-getClientOriginalName(),file_get_contents($file));
}
}
这是通过 routes
中的 api.php
调用的:
Route::post('/upload', [ 'uses' => 'UploadController@upload' ]);
我正在使用邮递员来测试我的申请 .
Header:
Body:
Raw:
POST / scotic / public / api / upload HTTP / 1.1主机:127.0.0.1:80内容类型:multipart / form-data; boundary = ---- WebKitFormBoundary7MA4YWxkTrZu0gW Cache-Control:no-cache Postman-Token:0caf7349-5c91-e5f1-766f-72a3f1e33900 ------ WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition:form-data;名称= “上传[]”; filename =“banana.png”内容类型:image / png png数据在这里.. ------ WebKitFormBoundary7MA4YWxkTrZu0gW--
上传文件后 $files
为空 . 我究竟做错了什么?
经过一番挖掘,我让我的上传工作没有邮差,我注意到'--boundary'在邮递员的 Content-Type
中丢失了 . LHS工作,RHS(邮递员)不起作用 .
有任何想法吗?
1 回答
问题是我在邮递员中明确指定了
Content-Type
.根据post的答案之一:
无需手动添加内容类型标头 . 你重写了邮差所设定的 Value . 只需在POST请求中选择form-data并发送您的请求以查看它是否有效 .