環境
- macOS Sonoma 14.0(Apple M1 Pro)
- .NET 6.0
- Visual Studio Community 2022 for Mac 17.6.6
讀取檔案、建立請求及傳送請求
var filename = "test.png";
// 建立 HttpClient 實體
using (var client = new HttpClient())
{
// 建立 FileStream
using (Stream stream = new FileStream(filename, FileMode.Open, FileAccess.Read,
FileShare.ReadWrite, 4096, FileOptions.SequentialScan))
{
// 建立 multipart/form-data 類型的 HttpContent
using (var content = new MultipartFormDataContent())
{
// 將文字的 key-value 加入 content
content.Add(new StringContent("40fe36a4-b5b3-485a-b18e-5127106b3795"), "\"Id\"");
// 將檔案加入 content
// 最後一個檔名參數必須要加否則會出錯
content.Add(new StreamContent(stream), "\"File\"", filename);
// 傳送請求
var responseMessage = await client.PostAsync("https://localhost:7113/api/File", content);
// 讀取回覆內容
var responseContent = await responseMessage.Content.ReadAsStringAsync();
Console.WriteLine(responseContent);
}
}
}
參考資料