将base64Binary转换为pdf
我有base64Binary的原始数据。
string base64BinaryStr = "J9JbWFnZ......"
我怎样才能制作pdf文件? 我知道它需要一些转换。 请帮我。
第1步是从base64字符串转换为字节数组:
byte[] bytes = Convert.FromBase64String(base64BinaryStr);
第2步是将字节数组保存到磁盘:
System.IO.FileStream stream = new FileStream(@"C:\file.pdf", FileMode.CreateNew); System.IO.BinaryWriter writer = new BinaryWriter(stream); writer.Write(bytes, 0, bytes.Length); writer.Close();
using (FileStream stream = System.IO.File.Create("c:\\file.pdf")) { byte[] byteArray = Convert.FromBase64String(base64BinaryStr); stream.Write(byteArray, 0, byteArray.Length); }
base64BinaryStr – 来自webservice SOAP消息
byte[] bytes = Convert.FromBase64String(base64BinaryStr);
您需要做的就是通过任何Base64解码器运行它,它将您的数据作为字符串并传回一个字节数组。 然后,只需在文件名中用pdf写出该文件。 或者,如果要将其传输回浏览器,只需将字节写入输出流,在标题中标记相应的mime类型。
大多数语言都有内置的方法可以转换为/从Base64转换。 或者使用您的特定语言的简单Google将返回您可以使用的众多实现。 回到Base64的过程非常简单,甚至可以由新手开发人员实现。
我知道这个问题落后了。 但也许我可以帮助这个代码的人。
我甚至不必在硬盘上写任何文件。 😉
Response.AddHeader("Content-Type", "application/pdf"); Response.AddHeader("Content-Length", base64Result.Length.ToString()); Response.AddHeader("Content-Disposition", "inline;"); Response.AddHeader("Cache-Control", "private, max-age=0, must-revalidate"); Response.AddHeader("Pragma", "public"); Response.BinaryWrite(Convert.FromBase64String(base64Result));
注意:变量’base64Result’包含Base64-String:“JVBERi0xLjMgCiXi48 / TIAoxI ……”
快乐的编码! 😉
首先将Bas64字符串转换为byte []并将其写入文件。
byte[] bytes = Convert.FromBase64String(base64BinaryStr); File.WriteAllBytes(@"FolderPath\pdfFileName.pdf", bytes );