У меня есть изображение/jped код base64, как это,Image/Jpeg Base 64 изображений
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA......
мне нужно, конвертировать изображения этого кода и сохраните файл как файл в формате JPEG. И я понял форму Windows (C#). Вставьте в текстовое поле и кнопку. Вставьте базовый код 64 (код выше) в текстовое поле и нажмите кнопку.
private void button1_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text))
{
string imageDataParsed = textBox1.Text.Substring(textBox1.Text.IndexOf(',') + 1);
byte[] imageBytes = Convert.FromBase64String(imageDataParsed);
MemoryStream ms1 = new MemoryStream(imageBytes);
Image img = Image.FromStream(ms1);
img.Save(Application.StartupPath + "\\Images\\1.jpg", ImageFormat.Jpeg);
}
}
Файл save как jpeg. Но этот файл выглядит так на Windows Photo Viewer
Но когда я запускаю в Google Chrome этот код базы 64, проблем нет. Просмотр снимков в браузере Google Chrome.
Резюме мой вопрос, мне нужен код base64 для изображения и сохранить этот файл на моем сервере как файл jpeg. Как я могу решить эту проблему? Спасибо.
Являются ли какие-либо части base64 UrlEncoded или имеют другие специальные символы при выходе из текстового поля? – xDaevax
До сих пор похоже, что вы просто не получаете полную строку. Обязательно обновите свой пример с помощью строки строки, которая является * small * и * complete * примером строки base64, которая показывает поведение, которое вы наблюдаете. –
Этот код работает для меня. Я также пробовал его с усеченной базой Base64 (я думал, что это ваша проблема), но я получил исключение FormatException, и изображение не было сохранено. – kol