RestSharp在上传时将整个文件加载到内存中。 怎么避免呢?

我在Mono项目中使用RestSharp来上传一些文件,我注意到当上传大文件时,内存会大大增加。

看看RestSharp源代码,我注意到FileParameter需要一个字节数组,这意味着它确实将文件加载到内存中。

难道我做错了什么? RestSharp有没有办法不这样做? 我可能正在上传非常大的文件,因此从内存中上传它们不是一种选择。

欢迎提供任何帮助(包括告诉我使用单声道提供的另一个HTTP库)。

使用AddFile(name, writer, filename)重载。

对于writer参数,传递一个直接写入请求正文流的Action 。 不要关闭流。

这是写入流的示例 。

在我找到这一行之后我放弃了,所以请求体总是被加载到内存中,这是不幸的,所以我构建了一个简单的解决方案来根据这个问题的代码和调试Apache HttpClient库来进行文件上传。

如果有人感兴趣,可在此处获取来源。