gpt4 book ai didi

php - 使用 Mimes 验证 Laravel 文件发布 - Word 文件

转载 作者:行者123 更新时间:2023-12-04 03:16:21 25 4
gpt4 key购买 nike

我有一个发布文件的表格。我正在尝试使用验证来仅接受 word 文档。我尝试使用 mime 类型,但似乎不起作用,而且我无法发现我的错误。

<form action="" method="post">
<div class="form-group{{ $errors->has('myFile') ? ' has-error' : '' }}">
<div class="col-xs-12">
<div class="form-material">
<input class="form-control" type="file" id="myFile" name="myFile">
<label for="myFile">MyFile</label>
@if ($errors->has('myFile'))
<div {{ $errors->first('myFile') }}</div>
@endif
</div>
</div>
</div>
</form>

发布成功,我在我的 Controller 中收到了它。

在我的 Controller 中,我尝试验证它,但它总是返回错误,即使文件是“.doc”格式也是如此。

public function myController(Request $request) {
$validator = MyValidations::myFormValidator($request->all());

if ($validator->fails()) {
$this->throwValidationException(
$request, $validator
);
}

...
}

和验证器:

public static function myFormValidator($data) {
return Validator::make($data, [
'myFile' => 'required|mimes:application/msword'

// I also tried
// 'myFile' => 'required|mimes:doc,docx'
]);
}

编辑:我看过一些关于 SO 的帖子,关于有一个文件 config > mimes.php 但我在 Laravel 5.3 上没有它

最佳答案

实际上,您的验证码并没有什么问题。问题是您的表单没有正确提交文件。

将正确的 enctype 添加到您的表单中,如下所示:

<form action="" method="post" enctype="multipart/form-data">

还要确保语法正确以进行验证(但我认为您知道这一部分)。使用这两个之一:

'myFile' => 'required|mimes:doc,docx'
'myFile' => 'required|mimetypes:application/msword'

关于php - 使用 Mimes 验证 Laravel 文件发布 - Word 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40638580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com