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

标签 go gorest

我使用 Postman REST API 客户端将一个 csv 文件作为二进制文件发布。我需要获取上传文件的文件名。

enter image description here

这是一个将 csv 文件作为二进制数据发布并将二进制数据存储为 csv 文件的简单示例。

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))
}

最佳答案

您可以使用编码,例如form-data,其中包含文件名以使用postman 上传文件。这将帮助您向服务器发送 multipart/form-data 请求。之后,您可以从服务器端提取文件名。

enter image description here

从服务器端

func uploadData(w http.ResponseWriter, req *http.Request) {
    _, header, _ := req.FormFile("demo")
    fmt.Println(header.Filename)
}

关于go - 如何使用 Golang 获取发布的二进制数据的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53816759/

相关文章:

go - 使用 golang 中的 go-hdb 驱动程序将十进制转换为从 SAP HANA 数据库检索的字符串

go - 尝试在 golang 中使用 io.CopyN() 读取时客户端卡住了

unit-testing - 为从中读取的函数填充 os.Stdin

go - 为什么此goroutine不调用wg.Done()?

gob 编码崩溃

GoREST 端点路径

post - Golang 重置服务发布方法发布数据未定义