Ho un servizio REST che legge un file e lo invia a un'altra applicazione console dopo averlo convertito in array Byte e quindi in stringa Base64. Questa parte funziona, ma quando lo stesso flusso viene ricevuto nell'applicazione, viene manipolato e non è più una stringa Base64 valida. Alcuni personaggi spazzatura vengono introdotti nel flusso.
L'eccezione ricevuta durante la riconversione del flusso in Byte è
L'input non è una stringa Base 64 valida poiché contiene un carattere non base 64, più di due caratteri di riempimento o uno spazio non vuoto tra i caratteri di riempimento
Al servizio:
[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;
}
All'applicazione:
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
.