我想知道是否有办法在将其上传到服务器之前检查大小和类型。我担心人们试图上传非常大的文件来故意降低服务器的速度。
我只知道如何在将文件复制到服务器后检查文件的大小。我不知道如何检查文件类型。我想在必须上传 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
}
智慧大石
相关分类