使用.NET'下载附件;什么是网络请求?

使用.NET'下载附件;什么是网络请求?,.net,.net,我已经开始使用WebRequest从给定URL检索文件。如果我在浏览器中点击URL,我只会得到下载文件的提示。我想将此文件重定向到另一个URL 我已经有了基本的工作,但我不熟悉流媒体和HTTP,所以我有点迷路了。我知道下面的代码不起作用,因为编写的文件还包括所有额外的http响应,然后文件在另一端损坏(在本例中是PDF文件): 在我的测试场景中,“reportUrl”是一个SSRS生成的PDF文件。同样,在浏览器中直接点击此链接只会导致提示将文件保存到我的计算机。我希望我的代码将这个文件重定向到

我已经开始使用WebRequest从给定URL检索文件。如果我在浏览器中点击URL,我只会得到下载文件的提示。我想将此文件重定向到另一个URL

我已经有了基本的工作,但我不熟悉流媒体和HTTP,所以我有点迷路了。我知道下面的代码不起作用,因为编写的文件还包括所有额外的http响应,然后文件在另一端损坏(在本例中是PDF文件):

在我的测试场景中,“reportUrl”是一个SSRS生成的PDF文件。同样,在浏览器中直接点击此链接只会导致提示将文件保存到我的计算机。我希望我的代码将这个文件重定向到“destinationUrl”,类似于http://testserver/folder/report.pdf".

同样,基础工作正常,但“report.pdf”文件已损坏,无法加载,因为它当前包含额外的SSRS生成的元数据:

1 >>
endobj
7 0 obj
<< /Type /Catalog /Pages 6 0 R >>
endobj
8 0 obj
<< /Title <feff004300680061006e0067006500470075006900640065>
/Author <>
/Subject <>
/Creator (Microsoft Reporting Services 10.0.0.0)
/Producer (Microsoft Reporting Services PDF Rendering Extension 10.0.0.0)
/CreationDate (D:20120221083306-07'00')
>>
1>>
endobj
70 obj
>
endobj
80 obj
>
那么,WebRequest对象是实现这一点的正确方法吗?有没有更聪明的方法让我更容易访问该文件


谢谢

嗯,似乎您正在尝试发送一个可能比您的文件短的缓冲区:

writer.Write(buffer, 0, totalBytesRead); //totalBytesRead may be > 10240

使用网络客户端直接下载PDF


我不这么认为,如果有什么问题的话,它比文件长,因为它包含了我不想要的标题信息。不确定它是否真的是“正确”的解决方案。。。我更喜欢这种流媒体方式,而不是“先下载后上传”,但是使用WebClient API很有效。谢谢
writer.Write(buffer, 0, totalBytesRead); //totalBytesRead may be > 10240