golang Golang +杜松子酒でファイルをダウンロードさせる
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang Golang +杜松子酒でファイルをダウンロードさせる相关的知识,希望对你有一定的参考价值。
// ファイルをダウンロードさせる
func forceDownloadFile(c *gin.Context, fileName string) {
targetPath := filepath.Join(downloadsPath, fileName)
if !strings.HasPrefix(filepath.Clean(targetPath), downloadsPath) {
c.String(403, "Look like you attacking me")
return
}
c.Header("Content-Description", "File Transfer")
c.Header("Content-Transfer-Encoding", "binary")
c.Header("Content-Disposition", "attachment; filename="+fileName)
c.Header("Content-Type", "application/octet-stream")
c.File(targetPath)
}
html html / templateで布局ファイルと内容ファイルを分けたい场合
package main
import (
"html/template"
"log"
"net/http"
)
func main() {
http.HandleFunc("/", handler)
err := http.ListenAndServe(":8080", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
func handler(w http.ResponseWriter, r *http.Request) {
data := map[string]string{
"Name": "Mike",
}
tmpl := template.Must(template.ParseFiles("layout.html", "content.html"))
w.Header().Set("Content-Type", "text/html")
err := tmpl.Execute(w, data)
if err != nil {
panic(err)
}
}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
{{ template "content" . }}
</body>
</html>
{{ define "content" }}
<p>Hello {{ .Name }}</p>
{{ end }}
以上是关于golang Golang +杜松子酒でファイルをダウンロードさせる的主要内容,如果未能解决你的问题,请参考以下文章
golang 空のダミーファイルを生成するスクリプト(powershell,python,go)
golang ファイル名に含まれる数字を0埋めしてリームするスクリプト(powershell,python,go)
markdown MySQL的CSVでファイルをインポートする
sql 急でファイル名を取る
vbscript 复数のExcel的ファイルを1ファイルにまとめる的VBScript
markdown ファイルを指すURLに个别のファイルのエイリアスを作る