Wie würde ich die Upload- und Download-Geschwindigkeit vom Server in Golang begrenzen?Wie würde ich die Upload- und Download-Geschwindigkeit vom Server in Golang begrenzen?
Ich schreibe einen Golang-Server, damit Benutzer Dateien hochladen und herunterladen können. Und die Datei ist groß, etwa 1 GB. Ich möchte die Upload- und Download-Geschwindigkeit auf (zum Beispiel) 1MB/s begrenzen (konfigurierbar natürlich).
unten ist mein Upload-Code:
func uploadFile(w http.ResponseWriter, r *http.Request) {
file, _, err := r.FormFile("file")
if err != nil {
http.Error(w, err.Error(), 500)
return
}
defer file.Close()
os.MkdirAll(`e:\test`, os.ModePerm)
out, err := os.Create(`e:\test\test.mpg`)
if err != nil {
http.Error(w, err.Error(), 500)
return
}
defer out.Close()
_, err = io.Copy(out, file)
if err != nil {
http.Error(w, err.Error(), 500)
}
}
Diese Geschwindigkeit Dateischreib begrenzen kann, aber ich sah Manager Form Aufgabe das Netzwerk halten hohe speed.I Netzwerk Datenübertragung speed.thanks begrenzen möchten trotzdem – waitwone
Es ist mein Problem.Ich sollte r.MultipartReader() und reader.NextPart() anstelle von r.FromFile() verwenden, weil r.FromFile() Daten in einer temporären Systemdatei gespeichert werden.Vielen Dank! – waitwone