좋아요, 그래서 이미지 파일의 경로를 가져 와서 이진 데이터를 문자열로 반환하는 함수가 있습니다. 그런 다음 호출자는 리턴 된 문자열을 XML 요소의 내부 텍스트에 삽입합니다.이진 데이터와 문자 데이터의 혼동
이 올바른?
string dataAsString = "";
using (StreamReader sr = new StreamReader(new FileStream(mergedFile, FileMode.Open, FileAccess.Read, FileShare.Read, 2048, FileOptions.DeleteOnClose)))
dataAsString = sr.ReadToEnd();
return dataAsString;
이 그것을 합법적으로 바이너리 데이터 수 있습니다처럼 보이는 뭔가를 반환하지만 대상 파일에서 내용을 잘라 붙여 넣을 경우, 새로운 테스트 TIF 파일에 붙여 넣인가 그런 다음 tif 이미지를 열려고하면 나에게 불만 스럽습니다 ... 그래서 나는 데이터를 읽거나 쓰는 방식에 문제가 있다고 의심합니다.
정말 이런 식으로해야합니까?
using (BinaryReader br = new BinaryReader(new FileStream(mergedFile, FileMode.Open, FileAccess.Read, FileShare.Read, 1024, FileOptions.None)))
{
int blockReadSz = 2048;
int bytesToRead = (int)br.BaseStream.Length;
int bytesRead = 0;
byte[] data = new byte[bytesToRead];
while (bytesRead < bytesToRead)
bytesRead += br.Read(data, bytesRead, blockReadSz);
}
그렇다면 파일을 읽은 후 바이트 []에서 문자열을 가져 오는 방법은 무엇입니까?
도움 주셔서 감사합니다. : D
File.ReadAllBytes가 더 좋습니다. 그거 잊어 버렸어! +1 – Keltex
아 깔끔한. ReadAllBytes는 편리합니다. +1. :디 – cakeforcerberus