【问题标题】:Laravel Intervention Image: Save image directly from dropbox urlLaravel 干预图像:直接从 Dropbox url 保存图像
【发布时间】:2018-04-05 08:26:24
【问题描述】:

我试图使用 laravel Intervention 将图片从 Dropbox url 存储到我的本地文件夹,但是我在出错后遇到错误。

谁能告诉我我该怎么做?

我的代码是这样的

 $path = 'https://www.dropbox.com/s/vwswp91fiz0m1wd/1200px-Good_Food_Display_-_NCI_Visuals_Online.jpg?dl=0';
        $filename = explode('?',basename($path))[0];
        Image::make($path)->save('images/'.$filename); 

我得到的错误是

Unable to init from given binary data.

所以我尝试了stackoverflow帖子中的解决方案

$path = 'https://www.dropbox.com/s/vwswp91fiz0m1wd/1200px-Good_Food_Display_-_NCI_Visuals_Online.jpg?dl=0';

        $filename = explode('?',basename($path))[0];
        $path = base64_decode($path);
        Image::make($path)->save('images/'.$filename);

但这给了我另一个错误。 我试着看护目镜,但我没有找到任何适合我的情况的可靠答案 谁能帮我解决如何从 Dropbox url 下载图像并保存到本地存储?还是我必须添加Dropbox api之类的??

【问题讨论】:

    标签: laravel laravel-5 intervention


    【解决方案1】:

    您使用的https://www.dropbox.com/s/vwswp91fiz0m1wd/1200px-Good_Food_Display_-_NCI_Visuals_Online.jpg?dl=0 的保管箱链接是图片预览页面,它不是有效的图片内容。您可以通过将查询参数从?dl=0 编辑为?raw=1,使用强制下载模式从Dropbox 中获取图片内容。

    $path = 'https://www.dropbox.com/s/vwswp91fiz0m1wd/1200px-Good_Food_Display_-_NCI_Visuals_Online.jpg?raw=1';
    Image::make($path)->save('images/'.$filename); 
    

    另请参阅:Force a file or folder to download, or to render on dropbox.com

    【讨论】:

      猜你喜欢
      • 2016-01-11
      • 1970-01-01
      • 1970-01-01
      • 2015-05-19
      • 2019-01-16
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      相关资源
      最近更新 更多