Необходимо передавать картинку Post/Get запросами. Подумав, а почему не передавать с помощью кодировки base64?
Пример: №1 (картинку в base64):
1. Путь к нашей картинке и переменную для нашей кодировки base64(тип данных string).
2. Создаём кодировку base64 из нашей картинки, как строку(тип данных string).
2.1. Рекомендую использовать оператор "using" - для того, чтобы правильно освобождать,сбрасывать,удалять неуправляемые ресурсы(аналог метода Dispose)
2.2. Получаем нашу картинку из файла.
{
2.3. Для чтения/записи данных в память, в виде массива, используя класс MemoryStream.
{
2.4. Сохраняем нашу картинку в экземпляр класса MemoryStream.
}
}
3. Полученную строку base64String, уже можем передавать, сохранять и делать с ней что угодно.
3.1. Сервис для просмотра полученной картинки из кодировки base64(тип данных string)
Продолжение следует....
#Csharp, #base64
Пример кодировки.
Пример: №1 (картинку в base64):
1. Путь к нашей картинке и переменную для нашей кодировки base64(тип данных string).
string pathFile = "D:\1_picture.jpeg";
string base64String = null;
2. Создаём кодировку base64 из нашей картинки, как строку(тип данных string).
2.1. Рекомендую использовать оператор "using" - для того, чтобы правильно освобождать,сбрасывать,удалять неуправляемые ресурсы(аналог метода Dispose)
2.2. Получаем нашу картинку из файла.
using (Image image = Image.FromFile(pathFile)
{
2.3. Для чтения/записи данных в память, в виде массива, используя класс MemoryStream.
using (MemoryStream m = new MemoryStream())
{
2.4. Сохраняем нашу картинку в экземпляр класса MemoryStream.
image.Save(m, image.RawFormat);
2.5. Получаем массив для дальнейшей конвертации.byte[] imageBytes = m.ToArray();
2.6. Получаем кодировку картинки в base64. base64String = Convert.ToBase64String(imageBytes);
}
}
3. Полученную строку base64String, уже можем передавать, сохранять и делать с ней что угодно.
3.1. Сервис для просмотра полученной картинки из кодировки base64(тип данных string)
Продолжение следует....
#Csharp, #base64
Пример кодировки.
В предыдущем примере рассмотрел случай кодирования картинку в base64.
Теперь рассмотрим обратный случай.
Пример: №2 (base64 в картинку):
1. Инициализируем новые переменные: путь к нашей картинке и кодировку base64.
2. Получаем массив из переменной base64StringNew.
3. Используем оператор "using"(рекомендую) для работы с картинкой.
3.1. Создаём картинку из полученного массива и сохраняем её, согласно нашего пути (pathFileNew).
Все эти случаи в практике используются довольно часто: сервисы для решения каптч, создание сайтов, работа с Б.Д.
Кодирование и декодирование в base64 - это очень полезная вещь.
#Csharp, #base64
Результаты кодирования и декодирования.
Теперь рассмотрим обратный случай.
Пример: №2 (base64 в картинку):
1. Инициализируем новые переменные: путь к нашей картинке и кодировку base64.
string pathFileNew = "D:\1_pictureCopy.jpeg";
string base64StringNew = base64String
(полученная кодировка base64 из пред. примера);2. Получаем массив из переменной base64StringNew.
byte[] imgBytes = Convert.FromBase64String(base64StringNew);
3. Используем оператор "using"(рекомендую) для работы с картинкой.
using (var imageFile = new FileStream(pathFileNew, FileMode.Create))
{
3.1. Создаём картинку из полученного массива и сохраняем её, согласно нашего пути (pathFileNew).
imageFile.Write(imgBytes, 0, imgBytes.Length);
imageFile.Flush();
}
Все эти случаи в практике используются довольно часто: сервисы для решения каптч, создание сайтов, работа с Б.Д.
Кодирование и декодирование в base64 - это очень полезная вещь.
#Csharp, #base64
Результаты кодирования и декодирования.