Laravel 干预图像:直接从 dropbox 保存图像 url
Laravel Intervention Image: Save image directly from dropbox url
我试图通过 laravel 干预将图像从 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.
所以我尝试了来自 Whosebug 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);
但这给了我另一个错误。
我试着看护目镜,但没有找到适合我的情况的可靠答案
谁能帮我解决如何从保管箱 url 下载图像并保存到本地存储的问题?还是我必须添加 dropbox api 之类的东西??
您 https://www.dropbox.com/s/vwswp91fiz0m1wd/1200px-Good_Food_Display_-_NCI_Visuals_Online.jpg?dl=0
使用的保管箱 link 是图片预览页面,不是有效的图片内容。您可以使用强制下载模式从 Dropbox 中获取图像内容,方法是将查询参数从 ?dl=0
编辑为 ?raw=1
。
$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
我试图通过 laravel 干预将图像从 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.
所以我尝试了来自 Whosebug 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);
但这给了我另一个错误。 我试着看护目镜,但没有找到适合我的情况的可靠答案 谁能帮我解决如何从保管箱 url 下载图像并保存到本地存储的问题?还是我必须添加 dropbox api 之类的东西??
您 https://www.dropbox.com/s/vwswp91fiz0m1wd/1200px-Good_Food_Display_-_NCI_Visuals_Online.jpg?dl=0
使用的保管箱 link 是图片预览页面,不是有效的图片内容。您可以使用强制下载模式从 Dropbox 中获取图像内容,方法是将查询参数从 ?dl=0
编辑为 ?raw=1
。
$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