相关疑难解决方法(0)

无法使用RestSharp下载PDF?

我一直在努力使用restsharp下载在线托管的简单pdf。我已经使用了一个多小时的代码,而我得到的只是空对象结果。

使用GET可以轻松地在POSTMAN中下载文件,而无需设置内容标头,但是还能提供什么呢?

以下是我一直在尝试的点头沙盒测试:

[TestFixture]
public class Sandbox
{
    [Test]
    public void Test()
    {
        var uri = "https://www.nlm.nih.gov/mesh/2018/download/2018NewMeShHeadings.pdf";
        var client = new RestClient();
        var request = new RestRequest(uri, Method.GET);
        //request.AddHeader("Content-Type", "application/octet-stream");
        byte[] response = client.DownloadData(request);
        File.WriteAllBytes(@"C:\temp\1.pdf", response);
    }
}
Run Code Online (Sandbox Code Playgroud)

更新返回流

        var baseUri = "https://www.nlm.nih.gov/mesh/2018/download/";
        var client = new RestClient(baseUri);
        var request = new RestRequest("2018NewMeShHeadings.pdf", Method.GET);
        request.AddHeader("Content-Type", "application/octet-stream");
        var tempFile = Path.GetTempFileName();
        var stream = File.Create(tempFile, 1024, FileOptions.DeleteOnClose);
        request.ResponseWriter = responseStream => responseStream.CopyTo(stream);
        var response = client.DownloadData(request);
Run Code Online (Sandbox Code Playgroud)

现在,将使用下载的数据填充流。

.net c# pdf download restsharp

4
推荐指数
1
解决办法
2395
查看次数

标签 统计

.net ×1

c# ×1

download ×1

pdf ×1

restsharp ×1