目前我在asp.net c#中使用Restful服务,以下是我得到的pdf字符串返回,我想将其转换并保存为.pdf文件.我该怎么办?
static string HttpGet(string url) { HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest; string result = null; using (HttpWebResponse resp = req.GetResponse() as HttpWebResponse) { StreamReader reader = new StreamReader(resp.GetResponseStream()); result = reader.ReadToEnd(); } return result; } /****************************** result returned ******************************/ %PDF-1.3 %���� 3 0 obj << /Linearized 1 /O 5 /H [ 526 186 ] /L 47163 /E 46840 /N 1 /T 47053 >> endobj xref 3 11 0000000016 00000 n 0000000436 00000 n 0000000712 00000 n 0000000957 00000 n 0000001056 00000 n 0000001078 00000 n 0000046475 00000 n 0000046502 00000 n 0000046611 00000 n 0000046725 00000 n 0000000526 00000 n trailer << /Size 14 /Info 1 0 R /Root 4 0 R /Prev 47044 >> startxref 0 %%EOF 4 0 obj << /Type /Catalog /Pages 2 0 R >> endobj 13 0 obj << /Length 104 /P 0 /S 46 >> stream
解决方法
using (Stream stream = ... fetch the stream from somewhere) { byte[] buffer = new byte[stream.Length]; stream.Read(buffer,buffer.Length); File.WriteAllBytes("foo.pdf",buffer); }
如果这个RESTful服务与HTTP对话,你可以使用WebClient:
using (var client = new WebClient()) { client.DownloadFile("http://example.com/api","foo.pdf"); }