ฉันมีบริการ REST ที่อ่านไฟล์และส่งไปยังแอปพลิเคชันคอนโซลอื่นหลังจากแปลงเป็นอาร์เรย์ไบต์แล้วเป็นสตริง Base64 ส่วนนี้ใช้งานได้ แต่เมื่อได้รับสตรีมเดียวกันที่แอปพลิเคชันจะได้รับการจัดการและไม่ใช่สตริง Base64 ที่ถูกต้องอีกต่อไป มีการนำตัวละครขยะบางตัวเข้าสู่สตรีม
ข้อยกเว้นที่ได้รับเมื่อแปลงสตรีมกลับเป็นไบต์คือ
อินพุตไม่ใช่สตริง Base-64 ที่ถูกต้องเนื่องจากมีอักขระที่ไม่ใช่ฐาน 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);
Encoding
อาจนี้จะทำอย่างไรกับ