我很難用零覆蓋文件內容。問題是原始文件的最後一個字節仍然存在,即使我超過了100個字節的大小。有人知道我錯過了什麼?覆蓋文件內容時遇到問題
func (h PostKey) ServeHTTP(w http.ResponseWriter, r *http.Request) {
f, err := os.Create("received.dat")
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
return
}
defer f.Close()
_, err = io.Copy(f, r.Body)
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
return
}
// Retrieve filesize
size, _ := f.Seek(0, 1)
zeroFilled := make([]byte, size + 100)
n, err := f.WriteAt(zeroFilled, 0)
if err != nil {
return
}
fmt.Printf("Size: %d\n", size) // prints 13
fmt.Printf("Bytes written: %d\n", n) // prints 113
}
你能分享身體的內容嗎?最後一個沒有被覆蓋的字節是什麼?使用你的代碼,我似乎無法重現你的問題。 [這裏是遊樂場](https://play.golang.org/p/0mASED0hSs) – mkopriva
你還沒有提供代碼來重現問題。尋求調試幫助的問題(「爲什麼這個代碼不工作?」)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。 – peterSO