Для файлов используешь r.ParseMultipartForm(maxMemory) — парсит multipart форму, хранит в памяти до maxMemory байт, остальное во временные файлы. Получаешь файл: file, header, err := r.FormFile("avatar"). header.Filename — имя, header.Size — размер. Читаешь io.Copy(dst, file). Не забудь defer file.Close(). Ограничивай размер через http.MaxBytesReader. Проверяй Content-Type файла через http.DetectContentType, не доверяй расширению.
Как обрабатывать multipart upload?
Middle
246 просмотровAFK Offer AI
Как разделить монолит?