我的工具正试图从服务器调用API查询:
public class WKPDFConvertionResult : ActionResult {...}
public PDFController : Controller
{
private WKPDFConvertionResult getPdf(int Id)
{
return new WKPDFConvertionResult()
{
Filename = filename,
Footer = true,
Html = htmlWriter.ToString()
};
}
public ActionResult PDF (int id)
{
return getPDF(id);
}
}
如果我使用firefox打开查询:
http://localhost:60653/pdf/1
浏览器会自动弹出文件下载对话框;
如果我按
使用相同的查询API.Query(http://local host:60653/pdf/1)
我认为它会返回相同pdf的二进制文件。但是,当我尝试时:
Byte[] btText = System.Text.Encoding.UTF8.GetBytes(API.Query(http://local host:60653/pdf/1) )));
using (MemoryStream memStream = new MemoryStream(btText))
using (FileStream fileStream = new System.IO.FileStream(_outputPath, System.IO.FileMode.Create))
{
memStream.CopyTo(fileStream);
}
它在_outputPath上生成的pdf在pdf查看器中显示为空白,尽管其文件大小合理(超过80kb)。
我不确定问题是什么,我不知道为什么pdf查看器不显示内容,虽然它包含
%PDF-1.4
1 0 obj
<<
/Title (�� C o m m i t t e e)
以及使其成为合理的pdf文件的其他内容。
编辑:
要进行比较,如果我在记事本中打开这两个文件,我会将原始文件看作:
%PDF-1.4
1 0 obj
<<
/Title (þÿ C o m m i t t e e)
所以也许编码和解码不会使用相同的东西,但我不知道原始编码是什么......
任何帮助将不胜感激!!