以支持添加和编辑产品的形式处理图像上传的推荐方法是什么?这是我当前的实现,有两个选项,有什么改进建议吗?
这是当图像转换为 File 对象并将其设置为表单中图像的默认值时的第一个选项:
const getFileFromUrl = async (url: string) => {
const res = await fetch(url);
const blob = await res.blob();
return new File([blob], 'image', { type: blob.type });
};
const productForm1Schema = z.object({
name: z.string().min(1, { message: 'Name is required' }),
image: z
.custom<File>((v) => v instanceof File, {
message: 'Image is required',
})
});
export type ProductForm1Values = z.infer<typeof productForm1Schema>;
interface ProductForm1Props {
product?: Product;
}
export const ProductForm1 = ({ product }: ProductForm1Props) => {
const …Run Code Online (Sandbox Code Playgroud)