Вот мой код:
protected void SaveMyImage_Click(object sender, EventArgs e)
{
string imageUrl = Hidden1.Value;
string saveLocation = Server.MapPath("~/PictureUploads/whatever2.png") ;
HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(imageUrl);
WebResponse imageResponse = imageRequest.GetResponse();
Stream responseStream = imageResponse.GetResponseStream();
using (BinaryReader br = new BinaryReader(responseStream))
{
imageBytes = br.ReadBytes(500000);
br.Close();
}
responseStream.Close();
imageResponse.Close();
FileStream fs = new FileStream(saveLocation, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
try
{
bw.Write(imageBytes);
}
finally
{
fs.Close();
bw.Close();
}
}
}
Верхнее объявление imageUrl принимает строку изображения Base64, и я хочу преобразовать ее в изображение. Я думаю, что мой набор кода работает только для изображений типа «www.mysite.com/test.jpg», а не для строки Base64. У кого-нибудь есть предложения? Спасибо!
c#
asp.net
image-processing
base64
anthonypliu
источник
источник
Вы можете сохранить Base64 прямо в файл:
источник
Image.Save()
). Оба работают, но по какой-то причине эта версия уменьшает размер моего файла на 30% без заметного изменения качества изображенияВот что я в итоге сделал.
источник
A generic error occurred in GDI+
описанную ошибку здесь . Перемещениеimage.Save
внутри блока using исправило это для меня.Я бы предложил через Bitmap:
источник
В моем случае это работает только с двумя строками кода. Проверьте приведенный ниже код C #:
Вот и все. Пожалуйста, проголосуйте, если вы действительно считаете, что это решение работает для вас. Заранее спасибо.
источник
dirPath
что@
перед строкой i..e должен стоять знак.@"C:\myfolder\"
или вам нужно избегать обратных косых черт в строке, то есть"C:\\myfolder\\"
Вот рабочий код для преобразования изображения из строки base64 в
Image
объект и сохранения его в папке с уникальным именем файла:источник
В аналогичном сценарии у меня сработало следующее:
ImageTagId
- это идентификатор тега изображения ASP.источник
Если у вас есть строка двоичных данных в кодировке Base64, вы должны иметь возможность делать следующее:
Вы должны иметь возможность записать полученный массив в файл.
источник
источник