使用者上傳數 MB 高清照片,儲存至 SAE 資料庫,希望伺服器端自動壓縮。
<input accept="image/*" max-size="2MB"> + JS 壓縮(如 canvas.toBlob(0.8))再上傳。$_FILES['file']['size'] 超過閾值直接拒絕。$img = imagecreatefromjpeg($tmp);
imagejpeg($img, $dest, 80); // 品質 80%,體積大幅下降
imagedestroy($img);
「幾 MB 原圖想無損壓縮到幾百 KB」不現實。工程上應**前端預壓 + 後端驗收 + 雲端動態處理**三管齊下。