我有此代码
$inputs = Input::all();
$file = Input::file('file');
$validator = Validator::make($request->all(), [
'file' => 'required|max:50000|mimes:application/x-tar',
]);
if ($validator->fails()) {
$messages = $validator->messages();
dd($file,$messages); <<<< --- keep executing
return Redirect::to('/vnf-packages/create')->withErrors($validator)->withInput()
->with('error','Something is wrong with your upload image');
} else {
..
}
我不知道为什么它会一直进入失败区域。我确实使用.tar
上传了文件。
我是否在代码中遗漏了任何内容?
如您所见,我确实上传了.tar文件
dd($file,$messages);
UploadedFile {#446 ▼
-test: false
-originalName: "config-vnfp-vyos-567.tar"
-mimeType: "application/x-tar"
-error: 0
#hashName: null
path: "/private/var/tmp"
filename: "phpNaZGxr"
basename: "phpNaZGxr"
pathname: "/private/var/tmp/phpNaZGxr"
extension: ""
realPath: "/private/var/tmp/phpNaZGxr"
aTime: 2020-03-09 15:10:28
mTime: 2020-03-09 15:10:28
cTime: 2020-03-09 15:10:28
inode: 14703131
size: 140
perms: 0100600
owner: 70
group: 0
type: "file"
writable: true
readable: true
executable: false
file: true
dir: false
link: false
}
MessageBag {#454 ▼
#messages: array:1 [▼
"file" => array:1 [▼
0 => "The file must be a file of type: tar."
]
]
#format: ":message"
}
'file' => 'required|max:50000|mimes:tar', //fail
'file' => 'required|max:50000|mimes:application/x-tar', //fail
'file' => 'required', //success
[我尝试用.tar
文件测试上传,并且当我使用getMimeType
方法时,它返回以下内容:
application/gzip
因此您的验证规则应为:
'file' => 'required|mimetypes:application/gzip',
[如果要使用mimes
规则,则需要这样的内容:
'file' => 'required|mimes:gz',
并且通过一些研究,我发现了以下内容:https://superuser.com/questions/901962/what-is-the-correct-mime-type-for-a-tar-gz-file