Tôi có một dịch vụ REST đọc một tệp và gửi nó đến một ứng dụng bảng điều khiển khác sau khi chuyển đổi nó thành mảng Byte và sau đó thành chuỗi Base64. Phần này hoạt động, nhưng khi nhận được cùng một luồng tại ứng dụng, nó sẽ bị thao túng và không còn là chuỗi Base64 hợp lệ. Một số nhân vật rác đang được đưa vào luồng.
Ngoại lệ nhận được khi chuyển đổi luồng trở lại Byte là
Đầu vào không phải là chuỗi Base-64 hợp lệ vì nó chứa một ký tự 64 không phải base, nhiều hơn hai ký tự đệm hoặc một ký tự khoảng trắng không phải giữa các ký tự đệm
Tại dịch vụ:
[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;
}
Tại ứng dụng:
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
.