csharp owncode object reference not set to an instance of an object

btr

Client
Регистрация
21.09.2015
Сообщения
71
Благодарностей
15
Баллы
8
+csharp owncode out of memory
+csharp owncode the path is not of a legal form
Вот такие ошибки вылетают на таком коде:
//Отправка капчи из картинки

var captcha__get = project.Variables["captcha__get"].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("BypassCaptcha.dll", base64String, "");
// отрезаем лишнее
var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
if (tmp.Length > 1) return tmp[0];
return result;
Помогите решить, раньше подобного не было.
Пару недель не трогал зенку, сегодня включил проект, а он не работает ((((
 

darkdiver

Administrator
Команда форума
Регистрация
13.01.2009
Сообщения
2 285
Благодарностей
2 730
Баллы
113
по out of memory
вот так напишите:
C#:
//Отправка капчи из картинки
var captcha__get = project.Variables["captcha__get"].Value;
string base64String = String.Empty;
using (var image = System.Drawing.Image.FromFile(@captcha__get))
{
    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("BypassCaptcha.dll", base64String, "");
// отрезаем лишнее
var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
if (tmp.Length > 1) return tmp[0];
return result;
память не чистите после обработки картинки, а .NET сам не успевает


по the path is not of a legal form:
путь к картинке не правильный передаете, можете обернуть в try catch и в логи писать project.Variables["captcha__get"].Value
 
  • Спасибо
Реакции: btr и rostonix

btr

Client
Регистрация
21.09.2015
Сообщения
71
Благодарностей
15
Баллы
8
спасибо за помощь.
Сам я в шарпе практически полный ноль, поэтому врятли сам второе реализую.
Если кто может скиньте готовый код пожалуйста.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
C#:
//Отправка капчи из картинки
var captcha__get = project.Variables["captcha__get"].Value;
string base64String = String.Empty;
try{
using (var image = System.Drawing.Image.FromFile(@captcha__get))
{
    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);
    }
}
}
catch
{
    project.SendWarningToLog(project.Variables["captcha__get"].Value, "Проблема с файлом каптчи");
}
var result = ZennoPoster.CaptchaRecognition("BypassCaptcha.dll", base64String, "");
// отрезаем лишнее
var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
if (tmp.Length > 1) return tmp[0];
return result;
 
Последнее редактирование модератором:
  • Спасибо
Реакции: btr

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