"use client" import React, { useState } from 'react' import { FileUpload } from './file-upload' import { Button } from './button' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from './card' import type { UploadResponse } from '@/lib/api/upload' // 使用示例组件 export function UploadExample() { const [uploadedImages, setUploadedImages] = useState([]) const [uploadedFiles, setUploadedFiles] = useState([]) return (
{/* 图片上传示例 */} 图片上传 上传图片文件,支持拖拽 { setUploadedImages(prev => [...prev, ...files]) console.log('上传成功:', files) }} onUploadError={(error) => { console.error('上传失败:', error) }} onRemove={(file) => { console.log('移除文件:', file) }} /> {/* 通用文件上传示例 */} 文件上传 上传任意类型文件 { setUploadedFiles(prev => [...prev, ...files]) console.log('文件上传成功:', files) }} onUploadError={(error) => { console.error('文件上传失败:', error) }} /> {/* 单文件头像上传示例 */} 头像上传 单文件头像上传,限制2MB { console.log('头像上传成功:', files[0]) }} /> {/* 上传结果展示 */} {uploadedImages.length > 0 && ( 已上传的图片
{uploadedImages.map((image, index) => (
{image.filename}

{image.filename}

))}
)}
) } // 在AddFoodDialog中使用的示例 export function FoodImageUpload({ onImageUpload, defaultImage }: { onImageUpload: (url: string) => void defaultImage?: string }) { return (
{ if (files.length > 0) { onImageUpload(files[0].url) } }} onUploadError={(error) => { console.error('图片上传失败:', error) }} />
) }