本指南记录了将移动端头像上传功能从旧的上传策略改为使用 src/client/utils/minio.ts 的完整迁移过程。
src/client/mobile/hooks/useAvatarUploadMinio.ts
uploadMinIOWithPolicy 替代旧的上传策略导入变更:
fileClient 导入uploadMinIOWithPolicy 从 src/client/utils/minio上传逻辑变更:
compressImage 进行图片压缩uploadMinIOWithPolicy 上传文件导入变更:
useAvatarUpload 改为 useAvatarUploadMinio使用方式:
test-mobile-avatar-upload.html
import { useAvatarUploadMinio } from '@/client/mobile/hooks/useAvatarUploadMinio';
const {
isUploading,
showCropper,
cropImageUrl,
uploadProgress,
handleCropComplete,
handleCropCancel,
triggerFileSelect,
} = useAvatarUploadMinio({
onSuccess: (avatarUrl) => {
console.log('上传成功:', avatarUrl);
},
onError: (error) => {
console.error('上传失败:', error);
}
});
所有现有组件都已更新为使用新的上传方法,无需额外配置。
src/client/utils/minio.ts 提供的统一接口如有需要,可以快速回滚到旧版本:
AvatarUpload.tsx 和 SimpleAvatarUpload.tsx 的备份useAvatarUpload 的使用useAvatarUploadMinio.ts