$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 本地有這個圖片且可以訪問
$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的時候不行了
第一次
$result = Storage::adapter('public')->path($path)->upload($image);
這里的$image是個資源UploadFile[]|UploadFile
第二次的
$result->file_name
是個string
如果把 $result->file_name 換成 $image 這個的話會拋出異常 fclose(): supplied resource is not a valid stream resource
我給你去看了下那個插件,確實(shí)是要傳$image對象的,報(bào)錯應(yīng)該是在upload方法的132行,你要在128行左右打印那個 $stream 看看
應(yīng)該是在 $filesystem->writeStream(
$fileName,
$stream
); 后面打印,應(yīng)該這里應(yīng)該是往里面寫入東西
你在 127行
$stream = \fopen($file->getRealPath(), 'r+');
后面打印 $stream 看看,估計(jì)就是目錄權(quán)限問題造成的打開文件失敗
你這個image的resource在你用
$result = Storage::adapter('public')->path($path)->upload($image);
的時候應(yīng)該已經(jīng)是清理掉了,因?yàn)槭莻€臨時文件
你把這段代碼去掉應(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試
$path = getenv("OSS_PREFIX").'/cfs-app/images/'.date("YmdHis");
PHP 7.4
base64Upload($files); 方法
$baseImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcIAAAHCCAYAAAB8GMlFAAAAAXNSR0IArs4c6QAAAARnQU1BAACx...";
if($size = getimagesize($baseImg)){
throw new \Exception('圖片格式錯誤');
}
傳了個寂寞呀
別折騰了,這個插件代碼質(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);