【问题标题】:Laravel validation pdf mimeLaravel 验证 pdf mime
【发布时间】:2016-06-12 05:13:43
【问题描述】:

我已尝试使用以下 mime 类型来验证 PDF 文件。但它们都没有通过验证。

  $rules  = [
     ....
    "file" => "required|mimes:application/pdf, application/x-pdf,application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf|max:10000"
     ....
       ]

【问题讨论】:

  • 您的表单是否接受文件?就像您在打开表单时使用的一样:'files' => true
  • 我相信您在验证 application/pdf 时要查找的规则是 mimetypes,而不是 mimes。请注意,当您验证 pdfmimes laravel.com/docs/5.7/validation#available-validation-rules 时,@Froxz 响应有效
  • 嗨@Jon,感谢您的评论,请记住,当只提出问题时,Laravel 5.1 可用并且此规则已在 5.2 中添加,我已更新我的答案。
  • 嗨@Froxz - 一切都很好,尽管 Laravel 5.2 于 2015 年 12 月发布(比提出问题的时间早 2 个月)。 en.wikipedia.org/wiki/Laravel#Release_history

标签: validation laravel mime


【解决方案1】:

只需添加文件扩展名

$rules  = [
    "file" => "required|mimes:pdf|max:10000"
]

来自 laravel 文档:

即使您只需要指定扩展名,此规则 实际上通过读取文件的 MIME 类型来验证 文件的内容并猜测它的MIME type


更新:

Laravel 5.2 开始,您可以根据完整的 MIME 类型验证文件上传,new validation 规则称为:mimetypes

$rules  = [
    "file" => "required|mimetypes:application/pdf|max:10000"
]

【讨论】:

  • 在 laravel 8.x 中,我使用以下方法解决了我的 PDF 问题:mimes:pdf,doc,docx
猜你喜欢
  • 1970-01-01
  • 2013-11-19
  • 2015-07-02
  • 2019-09-10
  • 1970-01-01
  • 2016-08-16
  • 2016-08-05
  • 2017-03-07
  • 2023-03-19
相关资源
最近更新 更多