ファイルのアップロード

Go Fiberフレームワークでファイルのアップロードを処理するには、コンテキストオブジェクトのFormFile関数を使用できます。 関数のシグネチャは以下の通りです:

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

以下はファイルのアップロードの例です:

app.Post("/", func(c *fiber.Ctx) error {
  // ドキュメントキーを介してファイルを読み取り、ファイルのアップロードヘッダーはmultipart/form-data形式である必要があります
  file, err := c.FormFile("document")

  // ファイルを指定したディレクトリに保存
  return c.SaveFile(file, fmt.Sprintf("./%s", file.Filename))
})

ファイルのダウンロード

Go Fiberでファイルのダウンロードを処理するには、以下のようにDownload関数を使用できます:

app.Get("/", func(c *fiber.Ctx) error {
  return c.Download("./files/report-12345.pdf")
  // => report-12345.pdfをダウンロード

  return c.Download("./files/report-12345.pdf", "report.pdf")
  // => report.pdfをダウンロード
})