Ibr*_*taz 4 .net c# pdf download restsharp
我一直在努力使用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)
现在,将使用下载的数据填充流。
尝试这个:
var uri = "https://www.nlm.nih.gov/mesh/2018/download/";
var client = new RestClient(uri);
var request = new RestRequest("2018NewMeShHeadings.pdf", Method.GET);
//request.AddHeader("Content-Type", "application/octet-stream");
byte[] response = client.DownloadData(request);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2395 次 |
| 最近记录: |