HttpClient和MultipartFormDataContent =上传文件字符串

时间:2018-09-30 13:20:05

标签: c# httpclient

起初,我为我的英语非常糟糕而深感抱歉:-)

两天以来我有问题。我将文件上传到https://www.share-online.biz/uploadapi api。但这是行不通的。我用C#编写了此代码:

FileInfo fileinfo = new FileInfo(DateiPfad);

HttpClient httpClient = new HttpClient();
MultipartFormDataContent form = new MultipartFormDataContent();

byte[] file = FileToArray(DateiPfad);

form.Add(new ByteArrayContent(file, 0, file.Length), "fn", "test2.rar");
form.Add(new StringContent(Benutzer), "username");
form.Add(new StringContent(Passwort), "password");
form.Add(new StringContent(sessionname), "upload_session");
form.Add(new StringContent("1"), "chunk_no");
form.Add(new StringContent("1"), "chunk_number");
form.Add(new StringContent(Convert.ToString(file.Length)), "filesize");

form.Add(new StringContent("1"), "finalize");

var response = httpClient.PostAsync(server, form).Result;

httpClient.Dispose();
string sd = response.Content.ReadAsStringAsync().Result;

File.WriteAllText("out.txt", sd);
MessageBox.Show("Server: " + sd);

我收到了这个请求:

*** EXCEPTION session creation/reuse failed - 09-30-2018, 1:09 pm ***

服务器,会话,密码和用户名来自另一个功能,并且工作正常。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

对于这种类型的工作,我使用Tiny.RestClient。 https://github.com/jgiacomini/Tiny.RestClient

构建多部分内容变得更加容易。

另一个问题:确定要发送用户名和密码作为内容吗?