下面這段代碼是調用java的Service獲取PDF的字節數組,但是在生成的報告中,商標符號前面多了一個字符,后來為ContentType添加了charset=utf-8,就解決了這個問題。req.ContentType = "application/x-www-form-urlencoded; charset=utf-8";
byte[] result = null;
string url = ConfigurationManager.AppSettings["iTextJavaReportService"];
int timeout = 60000;
int.TryParse(ConfigurationManager.AppSettings["iTextJavaReportServiceTimeout"], out timeout);
string dataXml = reportData != null ? reportData.CreateNavigator().OuterXml : string.Empty;
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";
req.Timeout = timeout;
byte[] bytesparamName = System.Text.Encoding.UTF8.GetBytes("dataXml=");
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(HttpUtility.UrlEncode(dataXml));
req.ContentLength = bytes.Length + bytesparamName.Length;
using (Stream requestStream = req.GetRequestStream())
{
requestStream.Write(bytesparamName, 0, bytesparamName.Length);
requestStream.Write(bytes, 0, bytes.Length);
}
using (WebResponse resp = (WebResponse)req.GetResponse())
{
using (BinaryReader br = newBinaryReader(resp.GetResponseStream()))
{
result = br.ReadBytes(1000000);
}
}
}
catch (Exception ex)
{
log.Error(string.Format("Error retrieving PDF Data.\n{0\n}", url), ex);
throw;
}
return result;
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
