donglong1465 2018-12-17 13:59
浏览 549
已采纳

如何使用Golang获取发布的二进制数据的文件名?

I am posting a csv file as a binary file using Postman REST API client. I need to get the filename of the uploaded file.

enter image description here

Here is a simple example of posting a csv file as binary data and storing the binary data as a csv file.

package main

import (   //"fmt"
           "net/http"
           "os"
           "io"
           "log"
           "github.com/gorilla/mux"
       )

func uploadData(w http.ResponseWriter, req *http.Request) {
    file, err := os.Create("hello.csv")
    _, err = io.Copy(file, req.Body)
    _ = err
}

func main(){
  router := mux.NewRouter()
  router.HandleFunc("/parse", uploadData).Methods("POST")
  log.Fatal(http.ListenAndServe(":8000", router))
}
  • 写回答

2条回答 默认 最新

  • dpdhsq0783 2018-12-17 14:35
    关注

    Since, there is no filename associated with a HTTP request body. You have to send the filename in your URL if you want to get the filename.

    package main
    
    import (   
               "net/http"
               "os"
               "io"
               "log"
               "github.com/gorilla/mux"
    
           )
    
    func uploadData(w http.ResponseWriter, req *http.Request) {
        params := mux.Vars(req)
        file, err := os.Create(params["fileName"])
        _, err = io.Copy(file, req.Body)
        if err!=nil{
          log.Printf("Error while Posting data")
        }
    }
    
    func main(){
      router := mux.NewRouter()
      router.HandleFunc("/upload/{fileName}", uploadData).Methods("POST")
      log.Fatal(http.ListenAndServe(":8000", router))
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵