我正在Laravel上传文件,其验证似乎不起作用。
我的控制器代码如下:
public function cv(Request $request) {
if ($request->hasFile('cv')) {
$file = $request->file('cv'); //i need this later to upload the file
$rules= [
'cv' => 'mimes:application/msword,text/plain,application/pdf,application/vnd.openxmlformats-officedocument.wordprocessingml.document'
];
$x = $request->all();
$validator=Validator::make($x, $rules);
if ($validator->passes()){
dd("Passes");
}else{
dd("fails");
}
}}
我的文件的html代码是:<input type='file' name='cv'><br>
由于某些原因,此代码似乎失败,并且仅当文件是pdf时验证程序才会通过。我只希望用户上传pdf文件,doc文件,docx文件,amd文本/普通文件。当我尝试上传微软doc文件时,它失败了。有人可以帮助我,我不确定我做错了什么。
答案 0 :(得分:2)
我认为你推翻了params
$validator=Validator::make($x, $rules);
答案 1 :(得分:1)
答案 2 :(得分:1)
根据the documentation,在按原样指定mime类型时应使用mimetypes
,而mimes
应用于指定文件扩展名。 HTH!