package main
import ( "bytes" "fmt" //"io" "io/ioutil" "log" "net/http")
func main() {
http.HandleFunc("/", serverFile) if err := http.ListenAndServe(":8085", nil); err != nil { log.Fatal(err) }
}
func serverFile(w http.ResponseWriter, r *http.Request) {
streamPDFbytes, err := ioutil.ReadFile("./large.txt") if err != nil { fmt.Println(err) return }
b := bytes.NewBuffer(streamPDFbytes)
w.Header().Set("Content-Disposition", "attachment;filename=large.txt") //io.Copy(w, b) if _, err := b.WriteTo(w); err != nil { fmt.Fprintf(w, "%s", err) }}package main
import ( "fmt" "io" "log" "net/http" "os")
func main() {
http.HandleFunc("/", serverFile) if err := http.ListenAndServe(":8085", nil); err != nil { log.Fatal(err) }
}
func serverFile(w http.ResponseWriter, r *http.Request) {
streamPDFbytes, err := os.Open("./large.txt") if err != nil { fmt.Println(err) return }
w.Header().Set("Content-Disposition", "attachment;filename=large.txt") io.Copy(w, streamPDFbytes)}Try using os.Open to get a *File (which implements io.Reader), and then io.Copy to the response from the file.