【问题标题】:laravel 5.1 error in validating doc docx type filelaravel 5.1 验证 doc docx 类型文件时出错
【发布时间】:2016-03-03 19:26:05
【问题描述】:

您好,我正面临一个 docx 类型验证问题。我试过了

$validator = Validator::make($request->all(), [
            'resume'   => 'mimes:doc,pdf,docx'
        ]);

它会毫无错误地上传 pdf 文件,但每当我尝试上传 docx 文件时,它都会给出验证错误“必须是文件类型:doc、pdf、docx”
任何想法

【问题讨论】:

  • 执行 dd($request->file('resume')->getMimeType()); 的结果是什么;
  • 它显示“应用程序/zip 惊讶

标签: file validation mime-types laravel-5.1 docx


【解决方案1】:

感谢通过允许 zip 解决了这个问题

$validator = Validator::make($request->all(), [
            'resume'   => 'mimes:doc,pdf,docx,zip'
        ]);

这是因为https://en.wikipedia.org/wiki/Office_Open_XML

【讨论】:

    【解决方案2】:

    在 Laravel 5.6.3. 中,我使用 dot(.) 符号解决了这个问题:

    $request->validate([
        'file.*' => 'required|file|max:5000|mimes:pdf,docx,doc',
    ]);
    

    【讨论】:

    • 据我所知,这允许假文件通过验证。例如,将 .txt 文件重命名为 .pdf 通过验证,删除点 * 并按预期失败。
    猜你喜欢
    • 2016-02-17
    • 2015-06-11
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    • 2013-07-17
    • 1970-01-01
    • 2018-01-14
    • 2016-01-23
    相关资源
    最近更新 更多