0

我正在开发一个使用干预图像库的 Laravel 应用程序。成功开发了一个图片上传系统后,在staging server上遇到了一个问题。当我上传图片时,出现以下异常:

NotReadableException in AbstractDecoder.php line 302:
Image source not readable
in AbstractDecoder.php line 302
at AbstractDecoder->init('/var/www/yoosit.com/public') in AbstractDriver.php line 64
at AbstractDriver->init('/var/www/yoosit.com/public') in ImageManager.php line 50
at ImageManager->make('/var/www/yoosit.com/public') in ImageManagerStatic.php line 57
at ImageManagerStatic::make('/var/www/yoosit.com/public') in ImageController.php line 90
at ImageController->upload(object(UploadImageRequest))

这是出错的代码:

$images = $request->only('image_1','image_2','image_3','image_4','image_5',
    'image_6','image_7','image_8','image_9','image_10');

foreach($images as $key => $image)
{
    // Continue loop if image input is empty.
    if ($image === null)
    {
        continue;
    }

    $interventionImage = InterventionImage::make($request->file($key)->getRealPath());

执行创建实例的最后一行时抛出异常。我觉得这很奇怪,因为在我的本地环境(Homestead)中,我可以很好地上传图片。

我已经检查了权限,并且该文件夹绝对是可写的。我在 DigitalOcean VPS 上运行 Debian 7。

有任何想法吗?提前致谢!

PS我的静态调用InterventionImage只是干预,通常它是Image::make但我将有关图像的信息保存到我的数据库中,所以我已经有一个同名的模型。

4

2 回答 2

1

您是否检查过图像是否实际上传?例如,您的登台环境可能不允许上传大小。

于 2016-07-08T10:22:20.537 回答
0

我遇到了同样的问题,在我的本地服务器上一切正常,但是在 DigitalOcean 中部署时我收到了相同的消息,我通过使用 php artisan storage 创建符号链接来解决它:链接在您的 DigitalOcean 项目中。

那解决了它。您可以在文档中查看它。https://laravel.com/docs/5.7/filesystem

于 2019-09-27T02:35:11.563 回答