我在 Silverlight 应用程序中生成一个ssrs报告,我需要将 ssrs报告转换为RadPDFViewer control
(telerik silverlight)。
所以我使用WCF将pdf文件保存在项目文件夹中。
现在我需要再次读取文件并将其绑定到 Pdfviewer 。
保存以异步方式发生。 我该如何等待,直到文件被保存,然后从文件夹中读取?
另外,您能否告诉我如何将PDF作为内存流阅读。
我运行以下代码失败。
public byte[] ReturnPdf(string requestUrl) {
HttpWebRequest req = null; var buf = new byte[1024];
try
{
req = (HttpWebRequest)WebRequest.Create(requestUrl);
req.Credentials = CredentialCache.DefaultCredentials;
req.Method = "GET"; var objResponse = req.GetResponse();
var stream = objResponse.GetResponseStream();
if (stream != null){BinaryReader br = new BinaryReader(stream);
buf = br.ReadBytes(1024);
} if
(stream != null) stream.Close();
}
catch Exception e){}return buf;
}
private void button2_Click(object sender, EventArgs e)
{
string baseUrl = "http://abc/ReportServer&rs:Command=Render&rs:ClearSession=true&rs:Format=PDF";
const string nullString = ":isnull=true";
byte[] o = ReturnPdf(baseUrl);
byte[] bytes = new byte[1024];
Stream s = new MemoryStream(bytes);
}
答案 0 :(得分:2)
撰写PDF流:
Write PDF stream to response stream
您可以检查文件是否已完整写入。
How to test if a file is currently being written to
或者这可能会有所帮助: