【问题标题】:Problems with uploading some of PDF files in Laravel 5在 Laravel 5 中上传一些 PDF 文件的问题
【发布时间】:2015-08-21 22:11:32
【问题描述】:

我有一个基于 Laravel 5 的应用程序,具有文件上传功能。除了上传一些 PDF 文件外,一切正常。

应用程序无法上传某些 PDF 文件,当我尝试打开它们时,它们看起来像任何其他 PDF 文件一样正常。知道如何解决这个问题吗?

 dd($request);  //MyRequest $request

// Here is the part of dd function related to file

 +files: FileBag {#244 ▼
    #parameters: array:1 [▼
      "file" => UploadedFile {#27 ▼
        -test: false
        -originalName: "111.pdf"
        -mimeType: "application/octet-stream"
        -size: 0
        -error: 1
      }]}
//Here is my request rules
 return ['file'  =>  'mimes:pdf|max:10000',

而对于其他 PDF 文件,就像下面的 dd($request) 一样工作正常

+files: FileBag {#244 ▼
#parameters: array:1 [▼
  "file" => UploadedFile {#27 ▼
    -test: false
    -originalName: "cv.pdf"
    -mimeType: "application/pdf"
    -size: 28141
    -error: 0
  }]}

【问题讨论】:

  • 所以你是说第一种类型不上传?
  • 是的,它将 application/octet-stream 作为 mimeType。
  • 显示为 application/octet-stream 的 PDF 是如何创建的?可以用adobe或foxit等PDF软件打开吗?我相信这是一种不同类型的文件,但我不确定希望有更多经验的人能提供他们的意见。另外,当您尝试上传显示为application/octet-stream 的文件时出现什么错误?
  • 是的,我可以像在 adobe reader 中打开普通 PDF 文件一样打开它们。错误是它无法上传文件,当我将要求作为规则时,它总是给出文件是必需的,这意味着它没有上传,当我删除必需的规则时,它给出的没有文件为真。这是一个真是奇怪的问题..
  • 普通pdf也有问题。对于普通的 pdf,我遇到了这个问题,不得不依赖 html required 属性。 stackoverflow.com/questions/30119795/…

标签: pdf file-upload laravel-5 mime-types


【解决方案1】:

错误值1 定义为UPLOAD_ERR_INI_SIZE。这只是意味着上传的文件超过了 php.ini 中的 upload_max_filesize 指令。

您的问题与 mime 类型无关。

【讨论】:

  • 你明白了,问题解决得很好,谢谢@Setasign ;)
  • 非常感谢,不知道为什么 Laravel 没有在请求对象中显示错误...
猜你喜欢
  • 2016-08-11
  • 2015-08-22
  • 2020-12-29
  • 2017-03-25
  • 2014-04-29
  • 2016-03-14
  • 1970-01-01
  • 2013-07-10
  • 2014-03-21
相关资源
最近更新 更多