diff --git a/apps/web/src/components/common/uploader/AvatarUploader.tsx b/apps/web/src/components/common/uploader/AvatarUploader.tsx index 6579947..7360f0a 100644 --- a/apps/web/src/components/common/uploader/AvatarUploader.tsx +++ b/apps/web/src/components/common/uploader/AvatarUploader.tsx @@ -35,6 +35,8 @@ const AvatarUploader: React.FC = ({ const [file, setFile] = useState(null); const avatarRef = useRef(null); const [previewUrl, setPreviewUrl] = useState(value || ""); + + const [compressedUrl, setCompressedUrl] = useState(value || ""); const [url, setUrl] = useState(value || ""); const [uploading, setUploading] = useState(false); const inputRef = useRef(null); @@ -45,7 +47,9 @@ const AvatarUploader: React.FC = ({ const handleChange = async (event: React.ChangeEvent) => { const selectedFile = event.target.files?.[0]; if (!selectedFile) return; - + // Create an object URL for the selected file + const objectUrl = URL.createObjectURL(selectedFile); + setPreviewUrl(objectUrl); setFile({ name: selectedFile.name, progress: 0, @@ -68,7 +72,7 @@ const AvatarUploader: React.FC = ({ compressedUrl: result.compressedUrl, })); setUrl(result.url); - setPreviewUrl(result.compressedUrl); + setCompressedUrl(result.compressedUrl); // 直接使用 result 中的最新值 resolve(compressed ? result.compressedUrl : result.url); },