小编Roh*_*rma的帖子

输入不是有效的Base-64字符串,因为它包含非基本64字符

我有一个REST服务,它读取文件并将其转换为另一个控制台应用程序,然后将其转换为Byte数组,然后再转换为Base64字符串.这部分是正确的,但是当在应用程序中接收到相同的流时,它会被操纵并且不再是有效的Base64字符串.一些垃圾字符被引入流中.

我将流转换回Byte时获得的异常是"输入不是有效的Base-64字符串,因为它包含非基本64个字符,两个以上的填充字符或填充中的非空白字符人物".

在服务:

[WebGet(UriTemplate = "ReadFile/Convert", ResponseFormat = WebMessageFormat.Json)]  
public string ExportToExcel()
  {
      string filetoexport = "D:\\SomeFile.xls";
      byte[] data = File.ReadAllBytes(filetoexport);
      var s = Convert.ToBase64String(data);
      return s;
  }
Run Code Online (Sandbox Code Playgroud)

申请时:

       var client = new RestClient("http://localhost:56877/User/");
       var request = new RestRequest("ReadFile/Convert", RestSharp.Method.GET);
       request.AddHeader("Accept", "application/Json");
       request.AddHeader("Content-Type", "application/Json");
       request.OnBeforeDeserialization = resp => {resp.ContentType =    "application/Json";};
       var result = client.Execute(request);
       byte[] d = Convert.FromBase64String(result.Content); 
Run Code Online (Sandbox Code Playgroud)

c# file-io base64

71
推荐指数
7
解决办法
20万
查看次数

标签 统计

base64 ×1

c# ×1

file-io ×1