douyimin1083 2017-05-18 16:10
浏览 297
已采纳

Laravel 5存储来自URL的图像

I'm trying to store an image from a URL using Intervention to my storage.

Here is what I tried so far(Attempt 1):

$path = 'http://f2b9x.s87.it/images/1/FR_laura-kithorizontal.gif';
$filename = basename($path);
$image = Image::make($path);
$store = $image->storeAs('image/'.$filename,'public');

But I get this error: Command (storeAs) is not available for driver (Gd).

Then I tried this (Attempt 2):

Image::make('http://f2b9x.s87.it/images/1/FR_laura-kithorizontal.gif')->save(public_path('/images/saveAsImageName.jpg'));

But I got this error: Can't write image data to path (C:\xampp\htdocs\app\public\/images/saveAsImageName.jpg)

In Attempt 2, I tried doing also this: public_path('\images\saveAsImageName.jpg') just to make sure it wasn't the backslashes causing the problem, but it gave me the same error.

Any help?

  • 写回答

2条回答 默认 最新

  • duanmianxue2687 2017-05-19 14:21
    关注

    The problem was that I didn't have the directories created (thanks @Tim Lewis)

    I solved it like this:

    use File;

    File::makeDirectory(public_path('images/kits/'.$microtime), 0775, true);

    The first parameter is the path
    The second parameter is the privileges given to that folder
    The third parameter is normally by default false, but if true, it creates the directories recursively. Meaning that it first checks if images is created, then kits, and then (in this case) if the folder with that microtime is created.
    If none exist, it creates all of them.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效