【发布时间】:2016-02-14 00:05:36
【问题描述】:
编辑:事实证明这个问题是在尝试上传 .sql 文件时发生的。不是文件名。
当我尝试上传具有以下名称的文件时:forge_2016-02-08_--USERS THOUGH.sql 我在下面显示此错误:
FileinfoMimeTypeGuesser.php 第 69 行中的 ErrorException:
数组到字符串的转换
和
在 HandleExceptions->handleError('8', '数组到字符串的转换', '/home/forge/example.com/vendor/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php', '69' , array('path' => '/tmp/phppkDGK8', 'finfo' => object(finfo)))
在 finfo->file('/tmp/phppkDGK8') 在 FileinfoMimeTypeGuesser.php 第 69 行
在 finfo->file('/tmp/phppkDGK8') 在 FileinfoMimeTypeGuesser.php 第 69 行 在 MimeTypeGuesser.php 第 139 行中的 FileinfoMimeTypeGuesser->guess('/tmp/phppkDGK8')
我不知道为什么会发生这个错误。这是我的上传代码:
$baseDir = storage_path('uploads');
$file = $request->file('file');
$mimeType = $file->getMimeType();
$name = str_random(6) . time() . '-' . str_replace(' ', '_', Str::ascii($file->getClientOriginalName()));
$file->move($baseDir, $name);
$path = $baseDir . '/' . $name;
$data = ['path' => $path, 'ip' => userIP(), 'name' => $file->getClientOriginalName(), 'mime' => $mimeType, 'size' => $file->getClientSize()];
$status = Uploads::create($data);
if ($status) {
$su = true;
请帮助大家。我不知道为什么会这样。
【问题讨论】:
-
您真的要遵循您使用的
$name约定吗? -
@JilsonThomas 是的,为什么?有什么问题吗?
-
我怀疑错误是否存在。您可以在 $name 创建前后尝试
dd('ok');吗?只是想看看错误在哪里。 ? -
错误在
$mimeType = $file->getMimeType(); -
你能检查 $request->file('file')->isValid() 吗?