要在WinForm應用程序中調用WebAPI上傳文件,你可以使用HttpClient類來發送HTTP請求。以下是一個簡單的示例代碼來演示如何實現這一目標:
首先,你需要在WinForm應用程序中添加一個按鈕和一個文件選擇對話框,用于選擇要上傳的文件。
然后,你可以在按鈕的Click事件中編寫以下代碼來調用WebAPI上傳文件:
private async void btnUpload_Click(object sender, EventArgs e)
{
using (HttpClient client = new HttpClient())
{
// 設置WebAPI的URL
string apiUrl = "http://example.com/api/uploadfile";
// 選擇要上傳的文件
OpenFileDialog openFileDialog = new OpenFileDialog();
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
string filePath = openFileDialog.FileName;
// 讀取文件內容
byte[] fileContent = File.ReadAllBytes(filePath);
// 創建MultipartFormDataContent對象
MultipartFormDataContent content = new MultipartFormDataContent();
ByteArrayContent fileContentData = new ByteArrayContent(fileContent);
content.Add(fileContentData, "file", Path.GetFileName(filePath));
// 發送HTTP請求
HttpResponseMessage response = await client.PostAsync(apiUrl, content);
if (response.IsSuccessStatusCode)
{
MessageBox.Show("文件上傳成功!");
}
else
{
MessageBox.Show("文件上傳失敗");
}
}
}
}
在上面的代碼中,我們使用HttpClient類來發送一個POST請求,將文件內容作為MultipartFormDataContent發送到WebAPI的指定URL。如果上傳成功,將會顯示一個成功的消息框,否則會顯示一個失敗的消息框。
請確保在調用WebAPI之前,對WebAPI的URL進行正確的配置,并確保文件選擇對話框選擇的文件是存在的。