亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 和干預/圖像:將照片上傳到 AWS S3 存儲桶會導致 0 字節文件

Laravel 和干預/圖像:將照片上傳到 AWS S3 存儲桶會導致 0 字節文件

PHP
偶然的你 2022-10-28 14:46:14
我將http://image.intervention.io/與 Laravel 一起使用來調整圖像大小,然后再將它們存儲在 AWS S3 存儲桶中。這是適用的代碼:$extension = $image->extension();$realPath = $image->getRealPath();$resizedImage = Image::make($realPath) // ->resize(255, 255); // resize or not, make() seems to always return an empty Image$file_path = "posts/$post->id/images/image-$post->id-num-$pictureCount.$extension/"; $path = Storage::disk('s3')->put($file_path, $resizedImage->__toString(), ['visibility' => 'public']);調試時($path設置了行上的斷點),我可以看到它$realPath的值類似于/private/var/folders/23/jl2dytp168g9g9s5j51w2m780000gn/T/php9047Fh- 并且去那里我可以看到我正在嘗試make()/的圖像resize()。該$resizedImage對象具有以下字段:[encoded] => [mime] => image/jpeg[dirname] => /private/var/folders/23/jl2dytp168g9g9s5j51w2m780000gn/T[basename] => phpTNRdXe[extension] => [filename] => phpTNRdXe我猜編碼的屬性應該包含基本 64 位圖像數據之類的東西?檢查 AWS S3 存儲桶中的圖像時,它總是作為 0 字節的圖像上傳。我在這里做錯了什么?干預配置為使用 GD,如果它有任何區別
查看完整描述

1 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

Laravel File 類Symfony File 類的子類,后者又是子類\ SplFileInfo

文件對象可以直接傳入Image::makeImage::make 獲取realPathfor\SplFileInfo對象。

Image::make 返回Image的一個實例并$resizedImage->__toString()返回其encoded字段的值。encoded空字符串開始。

圖像應該在訪問其編碼值之前進行編碼。

$resizedImage->encode();

然后,

$path = Storage::disk('s3')->put($file_path, $resizedImage->__toString(), ['visibility' => 'public']);


查看完整回答
反對 回復 2022-10-28
  • 1 回答
  • 0 關注
  • 100 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號