C#后上传文件类似curl.exe"-F

本文关键字:exe quot curl 文件 | 更新日期: 2023-09-27 18:00:49

我试图在C#中复制以下curl功能,但没有成功。我收到一个返回了C#代码的错误请求。.NET代码需要复制curl文件附件/上传功能。我很感激你的帮助。

"curl.exe"-F"attachment=@c:''data''img.jpg"example.com">

    public static async void Post(string fileName)
    {
        string url = "example.com";
        var stream = new FileStream(fileName, FileMode.Open);
        string name = Path.GetFileName(fileName);
        var client = new HttpClient { Timeout = TimeSpan.FromMinutes(10) };
        var streamContent = new StreamContent(stream);
        streamContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data");
        streamContent.Headers.ContentDisposition.Name = "'"file'"";
        streamContent.Headers.ContentDisposition.FileName = "'"" + name + "'"";
        streamContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
        var content = new MultipartFormDataContent { streamContent };
        HttpResponseMessage message = await client.PostAsync(url, content);
        string s = await message.Content.ReadAsStringAsync();
    }

C#后上传文件类似curl.exe"-F

修复了我的问题。"附件"必须是文件。