我目前遇到文件上传问题(它适用于多个文件,但我还无法上传一个文件)。在我提交带有文件的表单并转出请求数据后,前端控制器会按照我的预期显示数据。
array:6 [▼
"_token" => "SOME RANDOM TOKEN"
"file" => array:1 [▼
0 => UploadedFile {#633 ▼
-test: false
-originalName: "example.pdf"
-mimeType: "application/pdf"
-size: 194007
-error: 0
#hashName: null
path: "C:\Program Files (x86)\Ampps\tmp"
filename: "phpA9B4.tmp"
basename: "phpA9B4.tmp"
pathname: "C:\Program Files (x86)\Ampps\tmp\phpA9B4.tmp"
extension: "tmp"
realPath: "C:\Program Files (x86)\Ampps\tmp\phpA9B4.tmp"
aTime: 2018-03-08 16:13:17
mTime: 2018-03-08 16:13:17
cTime: 2018-03-08 16:13:17
inode: 0
size: 194007
perms: 0100666
owner: 0
group: 0
type: "file"
writable: true
readable: true
executable: false
file: true
dir: false
link: false
linkTarget: "C:\Program Files (x86)\Ampps\tmp\phpA9B4.tmp"
}
]
]
然后我将数据传递给我的API 使用此代码并直接返回响应(这仅用于测试目的)。
$api = new Api();
$code = $api->request('POST', $api->url('/attachment/document-upload'), $request->all());
return Response::create($api->response['response'], $code);
API适用于所有其他帖子,但这个
但是当我使用$request->file("file");
将文件转储到后端时
它总是返回null。
我有点失落,因为我从来没有将文件发布到API,我不确定我是否遗漏了一些明显的东西。
感谢您提供任何帮助。
问题在于API接收文件并且前端表单中的enctype设置为multipart / form-data
编辑 - 添加了后端控制器功能
public function document_upload(Request $request)
{
$files = $request->file("file");
return response()->json([
'status' => 'error',
'message' => $request->header()]);
}
请求标题
{#631 ▼
+"status": "error"
+"message": {#633 ▼
+"content-type": array:1 [▼
0 => "application/x-www-form-urlencoded"
]
+"content-length": array:1 [▼
0 => "181"
]
+"user-agent": array:1 [▼
0 => "some ssl"
]
+"host": array:1 [▼
0 => "some server"
]
+"authorization": array:1 [▼
0 => "Bearer
some token
]
+"accept-encoding": array:1 [▼
0 => "deflate, gzip"
]
+"accept": array:1 [▼
0 => "*/*"
]
}
}
我必须改变一些被传递的东西,但这是它的一般要点。