2011-11-25 5 views
0
FileStream fileStream = File.OpenWrite(@"upload"); 
while (true) 
{ 
    thisRead = networkStream.Read(dataByte, 0, blockSize); 

    fileStream.Write(dataByte, 0, thisRead); 
    if (thisRead == 0) break; 
} 

이 코드는받은 파일 (바이트 스트림으로받은 파일)을 업로드 폴더에 씁니다. 문제는 코드가 오류나 예외없이 실행되지만 PC에서 파일을 찾지 못한다는 것입니다. 파일을 사용자로부터 저장하는 또 다른 방법이 있습니까? 이것은 tcp 클라이언트와 네트워크 스트림을 바이트 스트림으로 사용하여 전송됩니다. 이 어딘가에 파일을 생성 한 후 오류없이 코드 입니다를 실행중인 경우, 둘째서버에 파일 업로드

using (Stream fileStream = File.OpenWrite("upload")) 
{ 
    ... // code as before 
} 

:

답변

0

첫째, 당신은 using 문이 있어야합니다. 프로세스의 작업 디렉토리에 있습니다. 스트림을 만들 때 절대 파일 이름을 지정하면됩니다.

+0

나는 파일 이름을 보내고 서버에서 같은 이름의 파일을 만들고 스트림을 써야한다고 생각한다. – user1065401

+0

@ user1065401 : 반드시 그렇지는 않습니다. 동일한 디렉토리 구조에 쓸 수 있다고 가정하고 싶지는 않습니다. 문제는 파일 이름 "업로드"자체가 아니라, 사용자가 찾을 수없는 디렉토리입니다. –

+0

감사합니다. 문제는 관리자가 사용하는 동안 문서에 대한 권한 액세스를 사용하여 해결되므로 문서에 저장됩니다 (파일 yaaay : D) – user1065401