$image = $request->file('image');
$path = getenv("OSS_PREFIX").'/cfs-app/images/'.date("Ymd");
$result = Storage::adapter('public')->path($path)->upload($image);
var_dump($result);
var_dump("--------------------------------1");
//$result->file_name dev/cfs-app/images/20220922/ec8aca9ed183f56e2c1bb26224105d6e.jpg 本地有這個(gè)圖片且可以訪問(wèn)
$result = Storage::adapter('oss')->path($path)->upload($result->file_name);
var_dump($result);
var_dump("--------------------------------2");
Call to a member function getSize() on string
想不明白了 ~~~ 切換到oss的時(shí)候不行了
第一次
$result = Storage::adapter('public')->path($path)->upload($image);
這里的$image是個(gè)資源UploadFile[]|UploadFile
第二次的
$result->file_name
是個(gè)string
如果把 $result->file_name 換成 $image 這個(gè)的話會(huì)拋出異常 fclose(): supplied resource is not a valid stream resource
我給你去看了下那個(gè)插件,確實(shí)是要傳$image對(duì)象的,報(bào)錯(cuò)應(yīng)該是在upload方法的132行,你要在128行左右打印那個(gè) $stream 看看
應(yīng)該是在 $filesystem->writeStream(
$fileName,
$stream
); 后面打印,應(yīng)該這里應(yīng)該是往里面寫(xiě)入東西
別這樣搞,public 不能給777權(quán)限的。估計(jì)是你用root用戶運(yùn)行的webman,如果是的話,改成用www用戶來(lái)運(yùn)行
你這個(gè)image的resource在你用
$result = Storage::adapter('public')->path($path)->upload($image);
的時(shí)候應(yīng)該已經(jīng)是清理掉了,因?yàn)槭莻€(gè)臨時(shí)文件
你把這段代碼去掉應(yīng)該就可以跑OSS那一段了
$path = getenv("OSS_PREFIX").'/cfs-app/images/'.date("Ymd");
$result = Storage::adapter('public')->path($path)->upload($image);
var_dump($result);
var_dump("--------------------------------1");
比如改成
$image = $request->file('image');
$path = getenv("OSS_PREFIX").'/cfs-app/images/'.date("Ymd");
$result = Storage::adapter('oss')->path($path)->upload($image);
var_dump($result);
var_dump("--------------------------------2");
OSS上有重名文件,將OSS上的文件,先刪掉,再重新執(zhí)行即可?;蛘呦扔孟旅娴穆窂綔y(cè)試
$path = getenv("OSS_PREFIX").'/cfs-app/images/'.date("YmdHis");
我現(xiàn)在也遇見(jiàn)這個(gè)問(wèn)題, 不能直接從服務(wù)端上傳到 oss cos之類(lèi)的, 有點(diǎn)無(wú)語(yǔ)
PHP 7.4
base64Upload($files); 方法
$baseImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcIAAAHCCAYAAAB8GMlFAAAAAXNSR0IArs4c6QAAAARnQU1BAACx...";
if($size = getimagesize($baseImg)){
throw new \Exception('圖片格式錯(cuò)誤');
}
傳了個(gè)寂寞呀
別折騰了,這個(gè)插件代碼質(zhì)量真不敢恭維。
$file = app_path().'/tmp.jpg';
$data = file_get_contents($k->img);
$filepath = 'upload/images/'.date('Y/m/d').'1.jpg';
Storage::adapter('cos')->put($filepath,$data);
$fileUrl = Storage::adapter('cos')->url($filepath);