温馨提示×

winform怎么调用webapi上传文件

小亿
114
2024-03-01 14:46:19
栏目: 智能运维

要在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进行正确的配置,并确保文件选择对话框选择的文件是存在的。

0