【发布时间】: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