Выполнение действия File Процесс не может получить доступ к файлу "blabla.jpg"

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
Баг или фишка...?

В постере
Выполнение действия File Процесс не может получить доступ к файлу "blabla.jpg", так как этот файл используется другим процессом.

В ПМ:
Выполнение действия File The process cannot access the file 'blalba.jpg' because it is being used by another process.

Обрабатываю файл через вложенном проект, там кусок кода на C#.
В конце основного проекта мне надо этот файл удалить ну я и получаю такую ошибку.
Перезапуск инстанта не помогает :(

Сейчас попробовал если файл так же обработать без вложенного проекта то всё ок :(
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
освободи его для начала
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
метод dispose или обверни в using лучше
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
метод dispose или обверни в using лучше
эх ну не шарю я в C#
там по сути 1 строчка как я понял которая пишет в файл сразу массив

File.WriteAllBytes(Filename2,fileBytes);

Как её в using обернуть? )

Вторая думаю не обязательна
return Filename2;
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Дружище ошибка что ты уже его взял где в коде и пытаешься опять с ним работать вот и ошибка тебе выпадает
ошибки не может быть если ты просто в него записываешь, но опять же если ты записал первый раз и не высбюодил то второй раз не запишь
 

Alexander174

Client
Регистрация
07.03.2017
Сообщения
165
Благодарностей
27
Баллы
28
Такая же беда.
Есть код отправки капчи через экшен, тоже где-то здесь взят сфорума:
Код:
var captcha__get = project.Variables["filename"].Value;
var image = System.Drawing.Image.FromFile(@captcha__get);

string base64String = String.Empty;

using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
byte[] imageBytes = ms.ToArray();

base64String = Convert.ToBase64String(imageBytes);
}

var result = ZennoPoster.CaptchaRecognition("RuCaptcha.dll", base64String, "");
// отрезаем лишнее
var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
if (tmp.Length > 1) return tmp[0];
return result;
Пробую после него следующим экшеном удалить файл, путь которого хранится в переменной "filename", и выдаёт ошибку занятости файла другим процессом.
У меня тоже как и у автора топика экшен разгадывания капчи лежит во вложенном проекте. Кто-нибудь может подсказать как добавить в код освобождения файла от всяких процессов?
 

Acedouble

Client
Регистрация
05.01.2018
Сообщения
21
Благодарностей
14
Баллы
3
перед var result = ZennoPoster.CaptchaRecognition("RuCaptcha.dll", base64String, "");
вставь image.Dispose();
 
  • Спасибо
Реакции: Rain, one и Alexander174

Alexander174

Client
Регистрация
07.03.2017
Сообщения
165
Благодарностей
27
Баллы
28

webmasterfree

Client
Регистрация
03.02.2019
Сообщения
116
Благодарностей
17
Баллы
18
Дружище ошибка что ты уже его взял где в коде и пытаешься опять с ним работать вот и ошибка тебе выпадает
ошибки не может быть если ты просто в него записываешь, но опять же если ты записал первый раз и не высбюодил то второй раз не запишь
у меня такая же проблема. Беру картинку, отправляю ее - потом хочу удалить и он высвечивает такую ошибку. При чем ранее такого не было. Появляется иногда. Как это исправить? Какой экшен можно добавить?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
у меня такая же проблема. Беру картинку, отправляю ее - потом хочу удалить и он высвечивает такую ошибку. При чем ранее такого не было. Появляется иногда. Как это исправить? Какой экшен можно добавить?
На какой версии эта проблема проявляется?
 

webmasterfree

Client
Регистрация
03.02.2019
Сообщения
116
Благодарностей
17
Баллы
18
На какой версии эта проблема проявляется?
обновил до последней сегодня - история та же. Но вроде пока решил проблему.
Суть была в следующем:
Я генерировал картинку и потом мне нужно было проверить width и height через с# код. Таким образом с# просил путь к этой картинке занести в переменную. И, как я понял, естественно при удалении картинки иногда зеннопостер фиксит, что картинка лежит в переменной и не может удалить ее.
Решил проблему тем, что поставил кубик с обнулением переменной к пути удаляемой картинки и Краши прекратились.

Но странность в чем - работало все нормально и началось в один момент - не всегда зерно отлавливает эту проблему. Проблема плавающая и неприятная.
 
  • Спасибо
Реакции: eee

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)