tp6 單圖片上傳和多圖片上傳


/** * 單文件上傳接口 * @param Request $request * @return \think\response\Json */ public function logo(Request $request): Json { // 接收上傳的類型 $type = $request->post("type"); // 接收文件上傳 $file = $request->file(); // 設定文件上傳的大小 $fileSize = 1024*1024*2; // 驗證文件上傳的大小、后綴 try { // 驗證文件大小、后綴 validate(['logo'=>'fileSize:'.$fileSize.'|fileExt:jpg,png']) ->check($file); $files = $request->file("logo"); // 將圖片保存至本地 $saveName = \think\facade\Filesystem::putFile($type, $files); // 將文件上傳的路徑返回 return success('uploads/' . $saveName); } catch (\think\exception\ValidateException $e) { return fail($e->getMessage()); } }




/**
* 多文件上傳接口
*/
public function images(Request $request)
{

// 接收上傳的類型
$type = $request->post("type", "goods");
// 接收文件上傳
$file = $request->file("images");
// 設定文件上傳的大小
$fileSize = 1024 * 1024 * 2;
// 存儲上傳失敗的信息
$error = [];
// 存儲上傳成功的信息
$success = [];
// 循環批量驗證
foreach ($file as $val) {
// 捕獲異常
try {
// 驗證文件大小、后綴
validate(['images' => 'fileSize:' . $fileSize . '|fileExt:jpg,png'])
->check(['images' => $val]);
// 上傳文件
$saveName = \think\facade\Filesystem::putFile($type, $val);
// 將成功后的路徑保存到數組中
$success[] = 'uploads/' . $saveName;
} catch (\think\exception\ValidateException $e) {
// 記錄驗證錯誤的失敗信息
$error[] = [
'name' => $val->getOriginalName(),
'msg' => $e->getMessage()
];
}
}
// 組裝返回數據的結果集
$data = [
'success' => $success,
'error' => $error
];
// 返回數據
return success($data);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM