Отправить изображение src на контроллер MVC - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь опубликовать содержимое элемента изображения на моем контроллере, чтобы я мог сохранить его в своей базе данных с использованием элемента.

Формат изображения src выглядит примерно так:

данные: изображение / GIF; base64, iVBORw0KGgoAAAANSUhEUgAAAMUAAAEACAYAAAADarJDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAFCxJREFUeJzt3XuUnHV9x / HP9zuzu0kAEUKicqyGGsAbF41ELAm7syG7swmCye5ka22otF6rYqmKp3houng5R9GDtl4OwvFCC6e72QkihMwmZGc3IWop0SqXQ2qUtV6qyQZSkkAu83y // SM7usRNMjPP73l + z8x + X39yTr7PN + R57zO3fQYwxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMYlGvheYLhbctqDp1DNeMhspOosomE2qpxNRSxCghYFmENJQlJRxiAmHVfUQNLUXGuyh5u

Вот мой JavaScript:

$("#submit").click(function () {
    var data = new FormData();
    data.append("image", $('#myImage').attr.src);
    $.ajax({
        url: "/default/upload/",
        type: "POST",
        processData: false,
        contentType: false,
        data: data,
        success: function (response) {
            //code after success
            alert("succes");
        },
        error: function (er) {
            alert(er);
        }
 });

и вот мой метод управления:

[HttpPost]
public void Upload(string image)
{
    Console.WriteLine("Do Something");
}

Моя точка останова сработала, но моя строка изображения содержит undefined

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Я думаю, что проблема исходит из этой строки:

data.append("image", $('#myImage').attr.src);

И решение:

data.append("image", $('#myImage').attr('src'));

// or if you're using jquery version 1.6 or later
data.append("image", $('#myImage').prop('src'));

Моя точка останова сработала, но моя строка изображения содержит undefined

Это потому, что $('#myImage').attr.src вернул undefined. Затем вы отправили значение на сервер. И, конечно же, image поймал undefined значение.

0 голосов
/ 15 ноября 2018

Сначала вы можете опубликовать изображение src на контроллере как исходную строку, удалив data:image/gif;base64; из строки src

Затем вы конвертируете эту строку base64 в двоичный файл и сохраняете в базу данных

byte[] imageBinary = Convert.FromBase64String(srcBase64String);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...