Имеется следующий класс домена:
class Topic {
byte[] image
}
Это контроллер:
class TopicController {
def uploadImage () {
println params
if(params.image && params.id && params.image.length != 0){
def topic = Topic.get(params.id)
topic.image = params.image
}
}
}
И запрос AJAX:
function postImage(){
var topicId = $('#topic-id').attr('value');
var imageData = context.getImageData(0,0,canvas.width, canvas.height);
$.post("../uploadImage", {'id': topicId,'image': imageData.data});
}
Не разрешено отправлять данные изображения(* 1 010 *).Какой правильный способ сделать это?Когда я удаляю все ссылки на изображение, это нормально, но не то, что я хочу.В другом случае ни идентификатор, ни изображение не обнаруживаются на стороне контроллера (params
map).
UPDATE : проблема была решена таким образом.Метод контроллера:
def uploadImage() {
//println params
if(params.image && params.id){
def topic = Topic.get(params.id)
topic.image = Base64.decode(params.image)
}
}
Функция JS:
function postImage(){
var topicId = $('#topic-id').attr('value');
var image = canvas.toDataURL("image/png");
image = image.replace('data:image/png;base64,', '');
$.post("../uploadImage", {'id': topicId,'image': image});
}
Но я продолжаю получать следующие сообщения на стороне браузера:
Failed to load resource: the server responded with a status of 404 (Not Found)
POST ../uploadImage 404 (Not Found)
Что мне делать, чтобыисправить это?