Я использую Visual C# Express 10. Я пытаюсь создать, открыть и записать в .avi-файл из другого .avi-файла. Я использую проекты Aforge для проекта y. Следующий код был запрограммирован нажатием кнопки.Доступ к пути запрещен в C# Visual Express 2010
OpenFileDialog toy = new OpenFileDialog();
toy.Filter = "AVI files (*.avi)|*.avi|All files (*.*)|*.*";
toy.Title = "Open an AVI file";
toy.ShowDialog();
string wish = toy.FileName;
VideoFileReader reader = new VideoFileReader();
VideoFileWriter writer = new VideoFileWriter();
string fileName = @"C:\test.avi";
FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate);
Я получаю сообщение об ошибке в строке выше
// open video file
reader.Open(wish);
for (int i = 0; i < 100; i++)
{
Bitmap videoFrame = reader.ReadVideoFrame();
int w = videoFrame.Width;
int h = videoFrame.Height;
writer.Open(@"C:\test.avi",w, h);
videoFrame.Save(i + ".bmp");
// dispose the frame when it is no longer required
//videoFrame.Dispose();
}
reader.Close();
Ошибка я получаю это "Доступ к пути 'C: \ test.avi' Отказано". Я попытался несколько решений в StackOverflow, которые включали изменение разрешений на диск C и использование экологических папок. Пожалуйста, посоветуйте мне об этом.
EDIT: Извините за задержку. Я также могу написать файл журнала. Я пытаюсь загрузить фото
EDIT 2: Это исключение. Я получил его из текстового поля и просто набрал его. Однако я заменил свое имя на xxxx.
System.UnauthorizedAccessException: Access to the path 'C:\test.avi' is denied.
at System.IO._Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access,
Int32 rights, Boolean useRights, FileShare share, Int32 buffersize, FileOptions)
options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy,
Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean
bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode)
at VideoFramesTest.Form1.OpenAndSave() in
C:\Users\XXXX\documents\visual studio
2010\projects\VideoFramestest\VideoFramestest\Form1.cs:line42
Ну, похоже, что Aforge не имеет к этому никакого отношения - весь ваш вопрос может быть написан без каких-либо диалогов или чего-то подобного, только с созданием «FileStream». В конце концов, вы не дошли до того, что записывали что-либо в файл. Какая среда - это локальное клиентское приложение или веб-приложение или что? Можете ли вы писать в корневой каталог диска из командной строки или в проводнике? –
Его форма окна. Это первый шаг большого приложения. Мне нужно включить несколько функций, но я застрял в начале. Что касается вашего другого вопроса, я могу написать в корневую папку через командную строку. Однако я не знаю, как писать с помощью проводника. – DetectiveFishLegs
это может быть множество разных вещей, оберните ваш 'writer.open' в попытке поймать и опубликовать исключение. Файл может быть открыт, вам может потребоваться доступ администратора. мы не знаем – user1