2012-11-03 3 views
0

서버에서 .zip 파일을 받았습니다.
.zip 파일은 64Base으로 인코딩되어 전송되며 XML 파일이 포함되어 있습니다.C# 바이트 배열을 xml 파일로 저장합니다.

Convert.FromBase64String을 사용하여 이진 데이터를 디코딩 한 후 바이트 배열을 XML로 변환 할 수 있습니까?

압축 해제를 원하지 않습니다. (의미가없는 결과 어떤 이해가되지 않습니다 전혀 XML처럼 보이지 않는)

XmlDocument doc = new XmlDocument(); 
string xml = Encoding.UTF8.GetString(buffer); 
doc.LoadXml(xml); 

어떤 아이디어 :

나는 다음 코드를 시도?

답변

2

압축 풀기를 원하지 않는다고 말하는가? 실제로 디스크에 압축을 해제하고 싶지는 않습니까? 대부분의 zip 라이브러리 중 하나를 사용하면 파일을 직접 바이트 배열로 또는 메모리 스트림을 전달할 수있는 스트림에 압축을 풀 수 있습니다.

압축을 풀 필요가 없습니다. 서버 측을 제어 할 수 없다면 형식을 압축되지 않은 파일 (예 : tar 파일)로 변경할 수 있습니다. 그렇다면 압축을 풀 필요가 없습니다.

+0

감사합니다. 실제로 디스크에 압축을 해제하고 싶지는 않습니다. – Sash

1

당신은 말한다 : 나는 서버에서 .zip 파일을 수신하고있어

.

그리고 :

나는 압축 풀기를 처리하고 싶지 않아요.

음. 너는해야만 해. 데이터가 zip 아카이브에 있으면 먼저 압축을 풀어야합니다. 사실을 무시할 수는 없습니다.

많은 zip 라이브러리가 있습니다. sharpziplib은 사용하기 쉽고 무료입니다.

+0

zip 라이브러리를 보내 주셔서 감사합니다. – Sash

+0

@Sash - 문제 없습니다. 'Stream'을 다루기 때문에'MemoryStream'을 사용하여 메모리에서 직접 압축 해제를 관리 할 수 ​​있습니다. – Oded

관련 문제