我想知道是否有辦法在將其上傳到服務器之前檢查大小和類型。我擔心人們試圖上傳非常大的文件來故意降低服務器的速度。我只知道如何在將文件復制到服務器后檢查文件的大小。我不知道如何檢查文件類型。我想在必須上傳 2 GB 數據然后驗證文件之前執行此操作。這是我到目前為止所擁有的,但這首先將文件復制到服務器,這不是我想要的。func userUploadImage(w http.ResponseWriter, r *http.Request, _ httprouter.Params) error { mpf, mpfh, err := r.FormFile("file") if err != nil { return nil } defer mpf.Close() dstFile, err := os.Create(config.UploadDir + "/img/" + mpfh.Filename) if err != nil { return err } defer dstFile.Close() size, err := io.Copy(dstFile, mpf) if err != nil { return err } spew.Dump(size) return nil}
如何檢查通過多部分形式發布的文件是否為圖像類型,并且它是否小于 Go 中的給定 maxsize?
慕工程0101907
2021-11-08 15:37:29