Estoy haciendo una API de carga de archivos en Svelte. Envía imágenes a través de datos de formulario y la API las guarda localmente.
Así es como se ve mi API:
export const post: RequestHandler = async ({ request }) => { const data = await request.formData(); console.log(data) return { status: 200, body: "h"}; };El cuerpo de la solicitud:
----------------------------930945094336727102920559 Content-Disposition: form-data; name="image"; filename="index.jpg" Content-Type: image/jpeg ���� basically this, I can not paste the rest Acabo de obtener FormData {} en la consola
¿Cómo puedo guardar esta imagen localmente usando node:fs o algo similar?
FormData debe leerse y no se serializará automáticamente. Desde el cuerpo, parece que la entrada ya tiene un nombre adecuado y se publicó correctamente, por lo que debería poder leerlo como un File .
p.ej
import * as fs from 'fs/promises'; export const post: RequestHandler = async ({ request }) => { const data = await request.formData(); const file = data.get('image') as File; await fs.writeFile(`D:/${file.name}`, file.stream()); return { status: 200, body: "h"}; };