使用go开启一个能够提供给html的a标签的下载的后端

package main

import(
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
)

func main(){
    fmt.Println("将自己的电脑转化为服务端")
    // http.Handle("/",http.FileServer())
    http.Handle("/sr/",http.StripPrefix("/sr/",http.FileServer(http.Dir("../src"))))
    //Dir只能访问到根目录,只有使用StripPrefix的时候才能解析到当前运行文件下的所有文件
    http.HandleFunc("/test",ReceiveFile)
    http.ListenAndServe(":8080",nil)
}



func ReceiveFile(w http.ResponseWriter,r *http.Request){
    CrossDomain(w)
    if r.Method!="POST" {
        return
    }
    var data interface{}
    body,err := ioutil.ReadAll(r.Body)
    if err!=nil{
        panic(err)
    }
    err = json.Unmarshal(body,&data)
    if err!=nil{
        panic(err)
    }
    // fmt.Println(data)
}

func CrossDomain(w http.ResponseWriter) {
    w.Header().Set("Access-Control-Allow-Origin", "*") //允许访问所有域
    w.Header().Add("Access-Control-Allow-Headers", "Content-Type") //header的类型
    w.Header().Set("content-type", "application/json") //返回数据格式是json
}
posted @   Myuniverse  阅读(275)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示