2011-01-13 5 views
15

나는 pdf를 나타내는 수많은 바이트 []를 가지고있다. 각 바이트 배열은 응용 프로그램의 시작 부분에로드해야하며 내 gui에 축소판으로 표시되어야합니다. 지금까지 내가 사용 임시 위치에 파일을 기록 관리해야 : 어디에서 임시 파일을 쓸 수 있습니까?

System.IO.Path.GetTempPath(); 

가 그럼 난 모든 PDF 파일을 얻을이 경로를 사용하여,

System.IO.File.WriteAllBytes(fileName, arrayOfPdfs[i]); 

을 사용하여 작성하고 그 디렉토리로 이동, 도착 모든 pdf 파일을 내 응용 프로그램의 미리보기 이미지로 변환하십시오.

나는 단지 pdf 파일을 원한다. 나는 임시 위치에만 둡니다. 그래서 어떻게 pdfs를 저장할 수 있습니까? 아니면 다른 곳에 저장할 수 있습니까? 미리보기 이미지, 내가 읽은 파일은 방금 작성한 파일입니까? 이것은 사용자가 내 시스템에서의 검색과 관련이있는 관련 pdfs만을보고 있다는 것을 확신 할 수 있기 때문입니다.

감사합니다.

답변

7
나는 사용자의 앱은 OS에서 제공 ApplicationData/LocalApplicationData 폴더를 추천 할 것입니다

..

물론
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); 

저장이 (정말 일시적으로) 매우 긴 지속 할 필요가없는 경우 다음 당신은 그냥 사용할 수 있습니다 임시 폴더를 만들고 그 안에 폴더를 만들어 파일을 격리하십시오.

+1

하지만 C : defaultuser 폴더를 가져올 수 있습니다. 모든 사람이이 파일에 대한 쓰기 권한을 가지고있는 것은 아닙니다. – Fandango68

0

Path.GetTempFileName을 사용하고 세션 중에 할당 한 임시 파일을 추적하십시오. 프로그램을 종료 할 때 정리해야합니다.

0

다음 중 하나를 수행 할 수 있습니다 :

  • 기록, 만 썸네일을 작성, aa는 지주 폴더로 파일을 이동하는 만들기 창
  • 에서 만든 파일을 편집 첫 번째와 마지막 항목의 작성 시간 실행 폴더가 끝날 때 폴더가 비어 있는지 확인하십시오.
1

임시 경로에 서브 디렉토리를 만들 수 있습니까?

string dir = System.IO.Path.GetTempPath() + "\\<searchstring>;

26

는 기본 임시 디렉토리에 무작위로 명명 된 디렉토리를 구축 :

string directoryName = Path.GetRandomFileName(); 
Directory.CreateDirectory(Path.Combine(Path.GetTempPath(), directoryName)); 

저장 파일을 거기에.

관련 문제