ฉันกำลังดึงข้อมูลไบต์ [] จากระบบ SAP และพยายามถอดรหัสอาร์เรย์กลับเป็นรูปแบบไฟล์ต้นฉบับ (ทั้ง pdf, ข้อความ, jpg หรือ doc) อย่างไรก็ตาม หลังจากพยายามหลายครั้ง เมื่อเปิดไฟล์ชั่วคราวที่สร้างขึ้นใหม่ เนื้อหาของไฟล์จะเป็นค่าที่เข้ารหัส (ฉันใช้ไฟล์ข้อความสำหรับการทดสอบ)
รหัสที่ฉันใช้กำลังส่งคืนเส้นทางกลับไปยังวัตถุที่สร้างขึ้น และวิธีการของฉันอยู่ด้านล่าง
private string DecodeFromBytes(byte[] fileContents)
{
DocumentFilePath = System.IO.Path.GetTempFileName();
//FileStream tempFile = File.OpenWrite(DocumentFilePath);
string bytesString = Convert.ToBase64String(fileContents);
// Used for Checking.
// This is the exact same as the passed fileContents value.
byte[] convertedBytes = Convert.FromBase64String(bytesString);
MemoryStream ms = new MemoryStream(convertedBytes, 0, convertedBytes.Length);
ms.Write(convertedBytes, 0, convertedBytes.Length);
using (FileStream tempFile = new FileStream(DocumentFilePath, FileMode.Create, FileAccess.Write))
{
//byte[] tempBytes = new byte[ms.Length];
//tempFile.Write(convertedBytes, 0, convertedBytes.Length);
ms.WriteTo(tempFile);
}
//tempFile.Write(fileContents, 0, fileContents.Length);
//tempFile.Close();
return DocumentFilePath;
}
ข้อความที่เข้ารหัสที่กำลังบันทึกก็ไม่เหมาะสมเช่นกัน มีตัว A ตามหลัง ฉันเดาว่าเป็นช่องว่างภายในใช่ไหม? ด้านล่างนี้คือสิ่งที่กำลังถูกส่งคืน และสิ่งที่ ควร ที่ถูกส่งคืน
ข้อความที่เข้ารหัส
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gSW50ZWdlciBuZWMgb2Rpby4gUHJhZXNlbnQgbGliZXJvLiANClNlZCBjdXJzdXMgYW5 0ZSBkYXBpYnVzIGRpYW0uIFNlZCBuaXNpLiBOdWxsYSBxdWlzIHNlbSBhdCBuaWJoIA0KZWxlbWVudHVtIGltcGVyZGlldC4gRHVpcyBzYWdpdHRpcyBpcHN1bS4gUHJhZXNlbnQgbWF1cmlzLiANCkZ1c2N lIG5lYyB0ZWxsdXMgc2VkIGF1Z3VlIHNlbXBlciBwb3J0YS4gTWF1cmlzIG1hc3NhLiBWZXN0aWJ1bHVtIGxhY2luaWEgYXJjdSBlZ2V0IG51bGxhLiANCkNsYXNzIGFwdGVudCB0YWNpdGkgc 29jaW9zcXUgYWQgbGl0b3JhIHRvcnF1ZW50IHBlciBjb251YmlhIG5vc3RyYSwgDQpwZXIgaW5jZXB0b3MgaGltZW5hZW9zLiBDdXJhYml0dXIgc29kYWxlcyBsaWd1bGEgaW4gbGliZXJvLgAAAAAAAAAA อร๊ายยยยย
สิ่งที่ควรอ่านไฟล์
Lorem ipsum dolor นั่ง amet, consectetur adipiscing elit. จำนวนเต็ม nec odio ปราเซนต์ ลิเบโร. Sed cursus ante dapibus diam. เสดนิส. Nulla quis sem ที่ nibh elementum imperdiet ดูส ซาจิตติส อิปซุม. แพรเซนท์ มอริส. Fusce nec tellus sed augue semper porta. มอริส มาสซา. ขนถ่าย lacinia arcu eget nulla Class aptent taciti soiosqu ad litora torkent per conubia nostra, per inceptos hisenaeos. Curabitur sodales ligula ใน libero
ฉันแน่ใจว่าฉันลืมขั้นตอนหนึ่ง ฉันแค่ไม่รู้ว่าอยู่ที่ไหน ความช่วยเหลือ / คำแนะนำใด ๆ ที่จะได้รับการชื่นชม
ขอบคุณ
File.WriteAllBytes(DocumentFilePath, fileContents)
? - person Jon Skeet   schedule 02.10.2014File.WriteAllBytes(DocumentFilePath, fileContents)
ฉันยังคงส่งคืนข้อความที่เข้ารหัสด้านบนทุกประการ - person Jake_TheCoder   schedule 02.10.2014code
'SSFC_BASE64_ENCODE' นั่นจะอธิบายการไล่ตามหาง - person Jake_TheCoder   schedule 02.10.2014