我有一个VueJs表单可以上传文件。验证由Laravel后端处理。我遇到的问题是Illuminate\Http\UploadedFile
没有从后续请求的请求对象中删除,因此文件验证不起作用。
我正在尝试使用$request->replace([])
重设请求参数,但不适用于上传的文件。
app('log')->debug('Before replace');
app('log')->debug($request);
$request->replace([]);
app('log')->debug('After replace');
app('log')->debug($request);
成功上传:
[2019-07-23 11:01:06] local.DEBUG: Before replace
[2019-07-23 11:01:06] local.DEBUG: array (
'name' => 'a',
'description' => 'a',
'resourceType' => 'sample',
'applicationTypes' =>
array (
0 => '1',
),
'authorities' =>
array (
0 => '1',
),
'file' =>
Illuminate\Http\UploadedFile::__set_state(array(
'test' => false,
'originalName' => 'blueprint.pdf',
'mimeType' => 'application/pdf',
'error' => 0,
'hashName' => NULL,
)),
)
在后续请求中未选择任何文件时,文件对象仍然存在。
[2019-07-23 11:01:06] local.DEBUG: After replace
[2019-07-23 11:01:06] local.DEBUG: array (
'file' =>
Illuminate\Http\UploadedFile::__set_state(array(
'test' => false,
'originalName' => 'blueprint.pdf',
'mimeType' => 'application/pdf',
'error' => 0,
'hashName' => NULL,
)),
)
如何删除文件以供后续上传?
答案 0 :(得分:0)
事实证明,提交后该文件未在Vue组件中清除。