Die Eingabe ist keine gültige Base-64-Zeichenfolge, da sie ein Nicht-Base-64-Zeichen enthält

Ich habe einen REST-Dienst, der eine Datei liest und an eine andere Konsolenanwendung sendet, nachdem er sie in ein Byte-Array und dann in eine Base64-Zeichenfolge konvertiert hat. Dieser Teil geschieht korrekt, aber wenn derselbe Stream in der Anwendung empfangen wird, wird er manipuliert und ist keine gültige Base64-Zeichenfolge mehr. Einige Junk-Charaktere werden in den Stream eingeführt.

Die Ausnahme, die ich bekomme, wenn ich den Stream zurück in Byte konvertiere, ist"Die Eingabe ist keine gültige Base-64-Zeichenfolge, da sie ein Nicht-Base-64-Zeichen, mehr als zwei Füllzeichen oder ein Leerzeichen zwischen den Füllzeichen enthält.".

Im Service:

[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;
  }

Bei der Bewerbung:

       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); 

Antworten auf die Frage(8)

Ihre Antwort auf die Frage