Saya mengambil satu byte[] dari sistem SAP dan mencoba memecahkan kode array kembali ke format file sumber (baik pdf, teks, jpg, atau doc). Namun setelah beberapa kali mencoba, saat membuka file temp yang baru dibuat, konten file adalah nilai yang disandikan (Saya menggunakan file teks untuk pengujian).
Kode yang saya gunakan mengembalikan jalur kembali ke objek yang dibuat, dan metode saya ada di bawah.
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;
}
Teks berkode yang disimpan juga tidak tepat; ada yang mengikuti A. Saya kira sebagai padding pada byte kosong? Di bawah ini adalah apa yang dikembalikan, dan apa yang harus dikembalikan.
Teks yang Disandikan
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gSW50ZWdlciBuZWMgb2Rpby4gUHJhZXNlbnQgbGliZXJvLiANClNlZCBjdXJzdXMgY W50ZSBkYXBpYnVzIGRpYW0uIFNlZCBuaXNpLiBOdWxsYSBxdWlzIHNlbSBhdCBuaWJoIA0KZWxlbWVudHVtIGltcGVyZGlldC4gRHVpcyBzYWdpdHRpcyBpcHN1bS4gUHJhZXNlbnQgbWF1cmlzLiAN CkZ1c2NlIG5lYyB0ZWxsdXMgc2VkIGF1Z3VlIHNlbXBlciBwb3J0YS4gTWF1cmlzIG1hc3NhLiBWZXN0aWJ1bHVtIGxhY2luaWEgYXJjdSBlZ2V0IG51bGxhLiANCkNsYXNzIGFw dGVudCB0YWNpdGkgc29jaW9zcXUgYWQgbGl0b3JhIHRvcnF1ZW50IHBlciBjb251YmlhIG5vc3RyYSwgDQpwZXIgaW5jZXB0b3MgaGltZW5hZW9zLiBDdXJhYml0dXIgc29kYWxlcyB saWd1bGEgaW4gbGliZXJvLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
File apa yang harus dibaca
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Bilangan bulat tidak diperlukan. Puji libero. Sed cursus ante dapibus diam. Tidak apa-apa. Tidak ada yang namanya unsur imperdiet. Duis sagittis ipsum. Puji mauris. Fusce nec tellus sed augue semper porta. Massa Mauris. Vestibulum lacinia adalah nol. Kelas taciti sosiosqu ad litora torquent yang tepat untuk conubia nostra, per inceptos himenaeos. Curabitur sodales ligula di libero.
Saya yakin saya lupa satu langkah, saya hanya tidak tahu di mana. Bantuan/petunjuk apa pun akan dihargai.
Terima kasih.
File.WriteAllBytes(DocumentFilePath, fileContents)
saja? - person Jon Skeet   schedule 02.10.2014File.WriteAllBytes(DocumentFilePath, fileContents)
, saya masih mengembalikan teks yang sama persis seperti yang disandikan di atas. - person Jake_TheCoder   schedule 02.10.2014code
'SSFC_BASE64_ENCODE'. Itu akan menjelaskan kejar-kejaran ekor. - person Jake_TheCoder   schedule 02.10.2014