我有base64Binary的原始数据。
string base64BinaryStr = "J9JbWFnZ......"
如何制作pdf档案?我知道它需要一些转换。请帮帮我。
答案 0 :(得分:28)
第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();
答案 1 :(得分:13)
using (FileStream stream = System.IO.File.Create("c:\\file.pdf"))
{
byte[] byteArray = Convert.FromBase64String(base64BinaryStr);
stream.Write(byteArray, 0, byteArray.Length);
}
答案 2 :(得分:3)
base64Binary String - 来自Web服务SOAP消息
byte[] bytes = Convert.FromBase64String(base64BinaryStr);
答案 3 :(得分:2)
您需要做的只是通过任何Base64解码器运行它,它将您的数据作为字符串并传回一个字节数组。然后,只需在文件名中用pdf写出该文件即可。 或者,如果要将其传输回浏览器,只需将字节写入输出流,在标题中标记相应的mime类型。
大多数语言都有内置的方法可以转换为/从Base64转换。或者使用您的特定语言的简单Google将返回您可以使用的众多实现。来回Base64的过程非常简单,甚至可以由新手开发人员实现。
答案 4 :(得分:1)
我知道这个问题落后了。但也许我可以用这段代码帮助别人。
我甚至不必在硬盘上写任何文件。 ; - )
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 ......”
快乐的编码! ; - )
答案 5 :(得分:1)
首先将Bas64字符串转换为byte []并将其写入文件。
byte[] bytes = Convert.FromBase64String(base64BinaryStr);
File.WriteAllBytes(@"FolderPath\pdfFileName.pdf", bytes );