Я пытаюсь опубликовать содержимое элемента изображения на своем контроллере, чтобы сохранить его в своей базе данных с помощью элемента.
Формат изображения src выглядит примерно так:
data:image/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
Я только отправляю изображение контроллеру, а не отправляю его обратно клиенту. Я постараюсь обновить свой вопрос, чтобы уточнить
Но откуда взялось изображение?
Из буфера обмена. Я использую javascript для вставки любого изображения из буфера обмена пользователя в тег <img> на сайте. Когда они нажимают "Отправить" в моей форме, мне нужно также сохранить изображение, которое они вставили.





Сначала вы можете отправить изображение src в контроллер как исходную строку, удалив data:image/gif;base64; из строки src.
Затем вы конвертируете эту строку base64 в двоичную и сохраняете в базе данных
byte[] imageBinary = Convert.FromBase64String(srcBase64String);
Я думаю, проблема в этой строке:
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'));
My breakpoint is triggered but my image string just contains
undefined
Это потому, что $('#myImage').attr.src вернул undefined. Затем вы отправили значение на сервер. И, конечно же, image уловил ценность undefined.
Непонятно, о чем вы спрашиваете. Зачем вам отправлять изображение обратно на контроллер, которое контроллер отправил клиенту?