Куда записывать мои временные файлы? - PullRequest
15 голосов
/ 13 января 2011

У меня есть многочисленные байты [], представляющие PDF.Каждый байтовый массив должен быть загружен в начале приложения и показан в виде эскиза на моем графическом интерфейсе.До сих пор мне удалось записать файлы во временную папку, используя:

System.IO.Path.GetTempPath();

Затем, используя этот путь, я получаю все PDF-файлы, пишу их, используя

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

, а затем перехожу кэтот каталог, получите все файлы PDF и превратите их в миниатюры в моем приложении.

Дело в том, что мне нужны только файлы PDF, которые я только что поместил, только во временную папку, так как еще я могу сохранить файлы PDF,или даже где я могу хранить их, чтобы я знал, что когда я прихожу, чтобы превратить их в миниатюры, файлы, которые я читаю, являются теми, которые я только что написал?Поэтому я могу быть уверен, что пользователь просматривает только те PDF-файлы, которые относятся к его поиску в моей системе.

Спасибо.

Ответы [ 5 ]

27 голосов
/ 13 января 2011

Создание каталога со случайным именем в базовом временном каталоге:

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

Храните там свои файлы.

7 голосов
/ 13 января 2011

Я бы порекомендовал вашим пользователям Папка ApplicationData / LocalApplicationData , предоставляемая ОС для вашего приложения.

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Конечно, если хранилище не нужно долго сохранять(действительно временно), тогда вы можете просто использовать временную папку и создать внутри нее папку для изоляции ваших файлов.

1 голос
/ 13 января 2011

Не могли бы вы просто создать подкаталог в пути Temp?

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

0 голосов
/ 13 января 2011

Вы можете:

  • Записать время создания первого и последнего элемента, затем редактировать только файлы, созданные в этом окне создания.
  • Переместить файлы в удерживание.папку, создайте миниатюры и затем переместите их в папку, в которой они должны находиться, убедившись, что в конце цикла папка хранения пуста
0 голосов
/ 13 января 2011

Используйте Path.GetTempFileName и отслеживайте временные файлы, которые вы выделили во время сеанса.Вы должны очистить при выходе из вашей программы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...