我有一个 REST 服务,它读取一个文件,并将其转换为字节数组后发送到另一个控制台应用,然后再转换为 Base64字符串。这部分可以工作,但是当应用程序接收到相同的流时,它将被操作,不再是有效的 Base64字符串。一些垃圾字符正在被引入流中。
将流转换回 Byte 时收到的异常为
输入不是有效的 Base-64字符串,因为它包含非 Base 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;
}
申请表格:
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);