Есть приложение mvc. На странице есть <input id="fileLoader" type="file" />
. В него пользователь загружает изображение. С помощью js на клиенте я перевожу картинку в base64 последовательность и отображаю в img. Далее передаю эту последовательность на сервер. И там перевожу в массив байт и записываю в базу. Теперь мне необходимо считать из базы массив байт и передать назад на страницу и отобразить в img. Но при попытке передать base64 строку на клиент вылетает ошибка.
Вот мой код который делает всё вышеописанное:
Клиент:
//Добавление нового автомобиля
$('#modalWindow').on('click', '#btnConfirm', function () {
$.ajax({
type: "POST",
url: "/Home/_AddNewCar",
data: $('form').serialize() + "&base64img=" + $('#autoPicture').attr('src'),
success: function (data) {
$('#autoPicture').attr('src', data);
},
error: function (error) {
alert(error.responseText);
}
});
});
//Изменение содержимого загружаемого файла
$('#modalWindow').on('change', '#fileLoader', function () {
ReadImageUrl(this);
});
function ReadImageUrl(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.readAsDataURL(input.files[0]);
reader.onload = function (e) {
$('#autoPicture').attr('src', e.target.result);
}
}
else {
$('#autoPicture').attr('src', '');
}
}
Контроллер:
[HttpPost]
public String _AddNewCar(Car car, string base64img)
{
var base64arr = base64img.Split(',');
byte[] picture = Convert.FromBase64String(base64arr[1]);
string result = Convert.ToBase64String(picture);
return result;
}
В этом примере я не пишу в базу, а просто пытаюсь отправить сразу же назад base64 строку для более короткого примера. Вот ошибка которая вылетает на консоле клиента:
Failed to load resource: the server responded with a status of 414 (Request-URI Too Long)
Подскажите пожалуйста как можно передать изображение из контроллера на клиент? Может не обязательно в виде base64?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как плавно переместить блок влево за границу родительского контейнера и при этом скрыть перемещенную часть?
Вот такая задача - борьба со спамомКапча в форме взламывается, и кто-то обходит систему защиты обороны почтовых сообщений
как добавить класс span,который находится в свою очередь в input,у кого есть атребут чекед?
Есть текстовый файл с именами , кличками и фамилиямиКаждое имя, фамилия, отчество начинаются с новой строки