- basenamePos := strings.LastIndex(filename, "/")
- if basenamePos < 0 {
- basenamePos = 0
- }
- extPos := strings.LastIndex(filename, ".")
- if extPos > basenamePos {
- // Now extPos is safely >= 0.
- if t := mime.TypeByExtension(filename[extPos:]); t != "" {
- w.Header().Set("Content-Type", t)
- }
- }
- if rdr, ok := rdr.(keepclient.Reader); ok {
- w.Header().Set("Content-Length", fmt.Sprintf("%d", rdr.Len()))
- }
-
- applyContentDispositionHdr(w, r, filename[basenamePos:], attachment)
+ basename := path.Base(filename)
+ applyContentDispositionHdr(w, r, basename, attachment)