C # Загрузка изображения с помощью FileUpload - PullRequest
0 голосов
/ 13 января 2012

Я нашел следующий код, но не смог понять, через что мне пройти ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format).

Мне нужен инструмент FileUpload, чтобы загрузить изображение в систему и передать его в ImageToBase64

Для справки мой код:

public string ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format)
    {
        using (MemoryStream ms = new MemoryStream())
        {
            image.Save(ms, format);
            byte[] imageBytes = ms.ToArray();
            string base64String = Convert.ToBase64String(imageBytes);
            return base64String;
        }
    }

Я пытался сделать ImageToBase64(FileUpload.FileBytes, "Image/PNG") Но я получаю синтаксическую ошибку.Какой правильный синтаксис я могу использовать для этого кода?

Ответы [ 2 ]

6 голосов
/ 13 января 2012

Поскольку функция принимает аргумент типа Image и ImageFormat, а вы передаете байты [] и строку.

Вам не нужен тип пантомимы, и вам нужен только

var base64String = Convert.ToBase64String(FileUpload.FileBytes);
0 голосов
/ 13 января 2012

Как указано в сигнатуре метода, второй параметр имеет тип ImageFormat . Это перечисление, поэтому вы можете использовать его так:

/// create or load a bitmap
var bitmap = new Bitmap(.....);

var base64string = ImageToBase64(bitmap,ImageFormat.Bmp);

В этом случае параметр ImageFormat, по-видимому, используется для указания методу Save() в каком формате вы хотите данные (jpeg, png, bmp и т. Д.). Тип MIME является недостаточным и на самом деле не относится к этому контексту, поскольку этот метод не предназначен для веб-страниц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...