Как изменить размер файла изображения и сохранить его в папке «/public/images/» в GoFiber

# #go #go-fiber

Вопрос:

Я использую Gofiber в качестве RestAPI. Я отправляю запрос post в формате FormData на сервер Gofiber.

 file,fileError := c.FormFile("image")
 

Но из этого файла я не могу изменить размер этого файла. Как я могу изменить размер и сохранить этот файл в своей папке?

Ответ №1:

 file, fileError := c.FormFile("image")
uniqueId := uuid.New()
filename := strings.Replace(uniqueId.String(), "-", "", -1)
fileExt := strings.Split(file.Filename, ".")[1]
imageName := fmt.Sprintf("%s.%s", filename, fileExt)
img, _ := file.Open()
CusImage, errImg := jpeg.Decode(img)
if errImg != nil {
    return errImg
}
m := resize.Resize(945, 410, CusImage, resize.Lanczos3)
out, errCreate := os.Create(fmt.Sprintf("./public/images/%s",imageName))
if errCreate != nil {
    return errCreate
}
defer out.Close()
jpeg.Encode(out, m, nil)