使用HttpWebRequest以多个部分(multipart / form-data)发送POST数据

时间:2011-10-16 01:26:32

标签: c# file-upload httpwebrequest

我正在将文件上传器移植到C#,我想将大文件上传到网站。该网站有一个API,可以上传通过HTTP POST请求收到的文件。

但是,由于文件相当大,我不想将其内容存储在内存中。因此,我无法将整个文件发送到一个块中。我希望我的请求以多个部分发送(即.net框架应多次调用send())。

以下是我希望程序发送文件的示例。我正在上传一个名为example.txt的文件,内容为“这是一个例子。”。我拦截了一堆对send()函数的调用并发布了缓冲区。 http://pastie.org/2703455

在我记录的请求中,第一次调用send()发送了初始HTTP POST请求。第二个调用发送了边界和一些有关该文件的数据。第三个调用发送了文件内容。第四次调用再次发送边界(表示上传已完成)。

那么我将如何模仿这种行为?

0 个答案:

没有答案