Tengo un servicio REST que lee un archivo y lo envía a otra aplicación de consola después de convertirlo en una matriz de bytes y luego en una cadena Base64. Esta parte funciona, pero cuando se recibe el mismo flujo en la aplicación, se manipula y ya no es una cadena Base64 válida. Algunos personajes basura se están introduciendo en la corriente.
La excepción recibida al convertir la transmisión de nuevo a Byte es
La entrada no es una cadena Base-64 válida, ya que contiene un carácter no base 64, más de dos caracteres de relleno o un carácter de espacio en blanco entre los caracteres de relleno
En servicio:
[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;
}
En la aplicación:
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);
Encoding
.