es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo cargar un archivo usando el servidor nestjs-graphql-fastify y cómo probar dicha funcionalidad?

Tengo problemas para subir un archivo .csv al servidor nestjs-graphql-fastify. He intentado el siguiente código:

@Mutation(() => Boolean)
async createUsers(
  @Args({ name: 'file', type: () => GraphQLUpload })
  { createReadStream, filename }: FileUpload,
): Promise<boolean> {
  try {
    // lógica del backend . . .
  } catch {
    return false;
  }
  return true;
}

pero todo lo que obtengo al probarlo con Postman es esta respuesta:

{
    "statusCode": 415,
    "code": "FST_ERR_CTP_INVALID_MEDIA_TYPE",
    "error": "Unsupported Media Type",
    "message": "Unsupported Media Type: multipart/form-data; boundary=--------------------------511769018912715357993837"
}

Desarrollando con un enfoque de “código primero”.

Actualización: He intentado usar fastify-multipart pero el problema persiste. Lo que ha cambiado es la respuesta en Postman:

POST body missing, invalid Content-Type, or JSON object has no keys.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema que estás enfrentando está relacionado con un tipo de medio no compatible al intentar subir un archivo CSV a tu servidor NestJS-GraphQL-Fastify. El mensaje de error que recibiste indica que el tipo de contenido en el encabezado no es compatible con el servidor.

    Para resolver este problema, puedes intentar los siguientes pasos:

    1. Asegúrate de enviar la solicitud con el tipo de contenido correcto en el encabezado. Para subir archivos, debes usar “multipart/form-data” en lugar de “application/json” o cualquier otro tipo de contenido.
    2. Verifica que hayas configurado correctamente el tipo escalar “GraphQLUpload” en tu esquema. Este tipo te permite subir archivos a través de GraphQL.

    3. Intenta utilizar el complemento “fastify-multipart” para manejar las solicitudes multipartes. Este complemento está diseñado para funcionar con Fastify y puede manejar la subida de archivos de forma transparente.

    Una vez que hayas realizado estos cambios, deberías poder subir archivos CSV a tu servidor exitosamente. Si el problema persiste, es posible que debas examinar más detenidamente la configuración de tu servidor y asegurarte de que todo esté configurado correctamente.

Comments are closed.