Laravel Intervention Image:直接从dropbox网址保存图片

时间:2018-04-04 21:19:53

标签: laravel laravel-5 intervention

我试图通过laravel Intervention将图片从dropbox网址存储到我的本地文件夹,但是我发现错误后会收到错误。

任何人都可以告诉我该怎么办?

我的代码就是这个

 $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 post

的解决方案
$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网址下载图像并保存到loacal存储?或者我是否必须添加dropbox api或其他东西?

1 个答案:

答案 0 :(得分:1)

您使用的保管箱链接BlockName Count_Schools_Power_Available Count_Schools_Water_Available A 0 1 B 1 2 是图片预览页面,该页面不是有效的图片内容。您可以使用强制下载模式从dropbox中提取图像内容,方法是将查询参数从https://www.dropbox.com/s/vwswp91fiz0m1wd/1200px-Good_Food_Display_-_NCI_Visuals_Online.jpg?dl=0编辑为?dl=0

?raw=1

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