Upload de Arquivo

Para lidar com o upload de arquivos no framework Go Fiber, você pode usar a função FormFile do objeto de contexto. A assinatura da função é a seguinte:

func (c *Ctx) FormFile(key string) (*multipart.FileHeader, error)

Aqui está um exemplo de upload de arquivo:

app.Post("/", func(c *fiber.Ctx) error {
  // Leia o arquivo via a chave do documento e o cabeçalho do upload do arquivo deve estar no formato multipart/form-data
  file, err := c.FormFile("documento")

  // Salve o arquivo no diretório especificado
  return c.SaveFile(file, fmt.Sprintf("./%s", file.Filename))
})

Download de Arquivo

Para lidar com o download de arquivos no Go Fiber, você pode usar a função Download conforme mostrado abaixo:

app.Get("/", func(c *fiber.Ctx) error {
  return c.Download("./files/relatorio-12345.pdf")
  // => Baixar relatorio-12345.pdf

  return c.Download("./files/relatorio-12345.pdf", "relatorio.pdf")
  // => Baixar relatorio.pdf
})