C#实现文件的上传

cs 复制代码
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
 
class Program
{
    static async Task Main(string[] args)
    {
        string apiUrl = "http://example.com/upload"; // 替换为你的上传API地址
        string filePath = @"C:\path\to\your\file.txt"; // 替换为你要上传的文件路径
 
        using (var client = new HttpClient())
        using (var form = new MultipartFormDataContent())
        {
            using (var fs = File.OpenRead(filePath))
            using (var stream = new StreamContent(fs))
            {
                var fileName = Path.GetFileName(filePath);
                stream.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("form-data")
                {
                    Name = "file", // 这里的name需要和API端的参数名称一致
                    FileName = fileName
                };
                
                form.Add(stream, "file", fileName); // 这里的"file"需要和API端的参数名称一致
                
                var response = await client.PostAsync(apiUrl, form);
                string responseString = await response.Content.ReadAsStringAsync();
                
                Console.WriteLine(responseString);
            }
        }
    }
}

确保你的API端点能够处理multipart/form-data类型的请求,并且你有权限上传文件到指定的位置。这个例子中的apiUrl应该是你的文件上传API的URL,filePath是你要上传的文件的本地路径。

相关推荐
ZEERO~10 分钟前
@dataclass的作用
开发语言·windows·python
南行*17 分钟前
C语言Linux环境编程
linux·c语言·开发语言·网络安全
Morwit20 分钟前
Qt qml创建c++类的单例对象
开发语言·c++·qt
古城小栈22 分钟前
Rust 已经自举,却仍需GNU与MSVC工具链的缘由
开发语言·rust
jarreyer26 分钟前
数据项目分析标准化流程
开发语言·python·机器学习
你怎么知道我是队长30 分钟前
C语言---printf函数使用详细说明
c语言·开发语言
liulilittle32 分钟前
俄罗斯访问欧洲国际线路优化
开发语言·网络·信息与通信·ip·通信·俄罗斯·莫斯科
陈小桔34 分钟前
logging模块-python
开发语言·python
消失的旧时光-194335 分钟前
函数指针 + 结构体 = C 语言的“对象模型”?——从 C 到 C++ / Java 的本质统一
linux·c语言·开发语言·c++·c
!停36 分钟前
C语言栈和队列的实现
开发语言·数据结构