C # Bitmap.Save сохраняет изображение в другое место как путь - PullRequest
2 голосов
/ 05 августа 2010

Я делаю простое изменение размера изображения и в финале хочу сохранить его как:

path = "C:\\new_image.jpg";
img.Save(path, jpegCodec, encoderParams);

Проблема в том, что он сохраняется в "....... \ Users \ Ervin \ AppData \ Local \ VirtualStore \". Что я сделал не так или что я упустил?

ОБНОВЛЕНИЕ: я изменил путь к другой папке, и он работает. кажется, я не могу сохранить в C: \ only.

Ответы [ 2 ]

3 голосов
/ 05 августа 2010

Для этого пользователя используется пользователь, у которого нет прав на запись непосредственно на диск C: это было новым для Win7 или Vista. Я не уверен, какой именно.

Вы можете решитьэто путем:

  1. Сохранение в каталоге, отличном от корня C:
  2. Изменение разрешений на диске C:, чтобы другие пользователи, кроме группы администраторов, имели доступ для записи.
  3. Запустите вашу программу с повышенными привилегиями.

....... \ Users \ Ervin \ AppData \ Local \ VirtualStore \ был добавлен, чтобы помочь исправить устаревшие приложения при обновлении.Вы также можете заметить много записей в «Program Files» в виртуальном магазине.это программы, которые пытаются записать в свой каталог в программных файлах вместо% LOCALAPPDATA%, как они должны.

1 голос
/ 05 августа 2010

Это было введено в Vista под названием Виртуализация :

Виртуализация файлов обращается к ситуация, когда приложение полагается на возможность хранить файл, такой как файл конфигурации, в системе местоположение обычно доступно для записи только администраторы. Запуск программ в виде Обычный пользователь в этой ситуации может привести к сбоям программы из-за недостаточный уровень доступа.

Когда приложение пишет в систему местоположение доступно только для записи администраторы винды потом пишет все последующие файловые операции в пользовательский путь под виртуальным Каталог магазина, который находится по адресу % LOCALAPPDATA% \ VirtualStore. Потом, когда приложение читает это файл, компьютер предоставит один в виртуальном магазине. Поскольку Инфраструктура безопасности Windows обрабатывает виртуализацию без помощь приложения, Приложение считает, что смог успешно читать и писать напрямую для программирования файлов. Прозрачность виртуализация файлов позволяет приложения, чтобы понять, что они написание и чтение из защищенных ресурс, когда на самом деле они доступ к виртуализированной версии.

...