【发布时间】:2021-11-09 17:08:46
【问题描述】:
我必须上传大于 2GB 的文件。
我想使用 restsharp,但出现错误“流太长”。 可以用 restharp 来做,还是我应该使用其他库?
var client = new RestClient(url);
client.ThrowOnDeserializationError = true;
client.ConfigureWebRequest(x => x.AllowWriteStreamBuffering = false);
var request = new RestRequest(Method.POST);
request.AddHeader("X-Auth-Token", token);
request.AddHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW");
const int chunkSize = 1024; // read the file by chunks of 1KB
using (var file = File.OpenRead(filePath))
{
int bytesRead;
var buffer = new byte[chunkSize];
while ((bytesRead = file.Read(buffer, 0, buffer.Length)) > 0)
{
request.AddFileBytes("file", buffer, filePath);
}
}
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
【问题讨论】:
标签: c# httprequest restsharp