Eu tenho um serviço REST que lê um arquivo e o envia para outro aplicativo de console depois de convertê-lo em uma matriz de bytes e, em seguida, em uma string Base64. Essa parte funciona, mas quando o mesmo fluxo é recebido no aplicativo, ele é manipulado e não é mais uma string Base64 válida. Alguns personagens inúteis estão sendo introduzidos no fluxo.
A exceção recebida ao converter o fluxo de volta para Byte é
A entrada não é uma string Base-64 válida, pois contém um caractere não base 64, mais de dois caracteres de preenchimento ou um caractere de espaço não em branco entre os caracteres de preenchimento
Em serviço:
[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;
}
Na aplicação:
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
.