go http 服务器标头内容类型设置为 multipart/formdata 但在客户端获取 ContentType: text/plain
在进行网络开发中,经常需要使用 HTTP 请求来传输数据。在某些情况下,我们可能需要将请求的内容类型设置为 multipart/form-data,并在客户端获取 Content-Type 为 text/plain 的数据。这样的设置可以通过在 HTTP 服务器的标头中进行配置实现。在 PHP 中,我们可以通过相应的函数和方法来实现这个目标。在本文中,php小编西瓜将为您介绍如何在 PHP 中设置 HTTP 服务器的标头内容类型为 multipart/form-data,并在客户端获取 Content-Type 为 text/plain 的数据。
问题内容
Go 服务器将 header Content-type 设置为 multipart/form-data
router.HandleFunc("/certificates", serveFilesHandler).Methods("GET") func serveFilesHandler(w http.ResponseWriter, r *http.Request) { currentDir, err := os.Getwd() if err != nil { log.Fatal("Can not find the current directory: ", err) } pathToCertifs := "../certificates" // Create a multipart writer for the response multipartWriter := multipart.NewWriter(w) files := []string{"client.key", "server.key", "rootCA.key"} for _, filename := range files { filePath := filepath.Join(currentDir, pathToCertifs, filename) fmt.Println("see the filePath: ", filePath) // Open the file file, err := os.Open(filePath) if err != nil {} defer file.Close() // Create a new form file part part, err := multipartWriter.CreateFormFile("files", filename) if err != nil {} // Copy the file content to the part _, err = io.Copy(part, file) if err != nil {} } // Set the content type for the response w.Header().Set("Content-Type", multipartWriter.FormDataContentType()) fmt.Println("Content-Type set to:", w.Header().Get("Content-Type")) // printout Content-Type set to: multipart/form-data; boundary=7b326 // Close the multipart writer multipartWriter.Close() }登录后复制