C# 从base 64转换文档时出现错误

C# 从base 64转换文档时出现错误,c#,base64,decoding,C#,Base64,Decoding,对于我的项目用户,请向我发送base64编码代码。我需要转换成pdf文件 我使用下面的代码进行同样的操作 string AsBase64String = "base64code"; byte[] tempBytes = Convert.FromBase64String(AsBase64String); File.WriteAllBytes(@"C:\d\hh.pdf", tempBytes); 这是成功的,但在某些情况下,它会生成pdf。当打开pdf时,它显示为无效格式 我在下面的在线网站中使

对于我的项目用户,请向我发送base64编码代码。我需要转换成pdf文件

我使用下面的代码进行同样的操作

string AsBase64String = "base64code";
byte[] tempBytes = Convert.FromBase64String(AsBase64String);
File.WriteAllBytes(@"C:\d\hh.pdf", tempBytes);
这是成功的,但在某些情况下,它会生成pdf。当打开pdf时,它显示为无效格式

我在下面的在线网站中使用相同的代码

http://www.freeformatter.com/base64-encoder.html
粘贴代码并解码,保存为文件并尝试以pdf格式打开。它给出了同样的错误。然后我在记事本中打开文件,复制里面的代码,并在上面的网站上再次解码。然后将其另存为文件。当我打开第二个文件时,它已成功打开

我做的步骤

  • 从客户端获取base64代码,并使用网站对其进行解码
  • 把解码后的代码重新解码
  • 然后保存代码并打开,然后成功打开
  • 但大多数案例首先在pdf中成功解码。极少数情况下需要两次解码


    这里可能发生了什么诡计。我是新来的。请说明一下这个问题

    很明显,发送文件的人犯了一个错误,对文件进行了两次编码。解决这个问题,你的问题就会消失。另外,为什么要将编码的文件传输到base64?我希望你这样做不是出于安全考虑…@罗伯同意你的观点。但是这是来自于很多人..有没有任何方法可以确定它从我们正在接收的字符串中被编码了多少次?不,不是真的。您需要阅读PDF规范并检查文件的标题,以确定它是否是有效的PDF文件。或者,使用一个库来完成它。不过,问题在另一端,所以问题应该在那里解决。如果他们把它编码100次呢?在找到一个有效的pdf文件(实际上可能不存在)之前,您是否可以继续解码它。这似乎是一个简单的方法service@Rob我们正在将编码的文件传输到base64 bcos,它是项目遵循的标准xml协议。它通过xml传递schema@rob我试图读取标题以了解文件格式。但问题是用户没有在标题部分保存该信息:(