第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過 http 發(fā)送文件而不實際創(chuàng)建任何文件

通過 http 發(fā)送文件而不實際創(chuàng)建任何文件

Go
守著一只汪 2023-07-31 17:25:34
我需要向某個 API 發(fā)送 POST 請求,該 API 只接受multipart/form-data. 但我的數(shù)據(jù)為[]byte. 現(xiàn)在我能做的就是將此[]byte數(shù)據(jù)寫入臨時文件,然后發(fā)送該文件。經(jīng)過一番谷歌搜索后,我找到了上傳文件的代碼:fileDir, _ := os.Getwd()fileName := "upload-file.txt"filePath := path.Join(fileDir, fileName)file, _ := os.Open(filePath)defer file.Close()body := &bytes.Buffer{}writer := multipart.NewWriter(body)part, _ := writer.CreateFormFile("file", filepath.Base(file.Name()))io.Copy(part, file)writer.Close()r, _ := http.NewRequest("POST", "http://example.com", body)r.Header.Add("Content-Type", writer.FormDataContentType())client := &http.Client{}client.Do(r)經(jīng)過更多谷歌搜索后,我了解到了這一點。在我看來,發(fā)送文件時我們只需要文件名和內(nèi)容(可能是大?。N铱梢蕴峁┧羞@些數(shù)據(jù),而無需創(chuàng)建臨時文件、寫入該文件,然后再次從該文件讀回??梢赃@樣做嗎?我可以以某種方式將 []bytes 作為文件發(fā)送嗎?非常感謝一個工作示例。
查看完整描述

1 回答

?
慕后森

TA貢獻1802條經(jīng)驗 獲得超5個贊

直接將其寫入[]byte零件。使用以下代碼將切片寫入content零件并發(fā)布表單:


body := &bytes.Buffer{}

writer := multipart.NewWriter(body)

part, _ := writer.CreateFormFile("file", "insert-name-here")

part.Write(content) // <-- content is the []byte

writer.Close()


r, _ := http.NewRequest("POST", "http://example.com", body)

r.Header.Add("Content-Type", writer.FormDataContentType())

err := http.DefaultClient.Do(r)

if err != nil {

   // handle error

}


查看完整回答
反對 回復(fù) 2023-07-31
  • 1 回答
  • 0 關(guān)注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號