Closed4
MIMEについて深ぼる
MIMEタイプ(メディアタイプ)とは
MIMEタイプ(メディアタイプ)とは、文書、ファイル、またはバイト列の形式や性質を表す。
MIMEタイプはHTTPヘッダーのContent-Typeヘッダーに指定する
つまり、Content-Typeヘッダに指定してあるMIMEタイプを見れば、送られてきたデータがどんな種類かわかるってことか。
標準入力にファイルを指定しているケースなら、httpパッケージのDetectContentTypeを使えばOK
今回はフォームデータに含まれている情報から、メディアタイプを判断したかったので、Headerに対してGetを呼び出してメディアタイプを取得した。
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.POST("/upload", func(c *gin.Context) {
file, _ := c.FormFile("file")
mimeType := file.Header.Get("Content-Type")
if mimeType == "image/jpeg" {
c.SaveUploadedFile(file, "./output/" + file.Filename)
c.JSON(http.StatusOK, gin.H{
"code": http.StatusOK,
"message": "ファイルのアップロードに成功しました",
})
} else {
c.JSON(http.StatusBadRequest, gin.H{
"code": http.StatusBadRequest,
"message": "拡張子がjpegのファイルを添付してください",
})
}
})
r.Run()
}
このスクラップは2023/06/13にクローズされました