2016-06-20 1 views
0

Я в настоящее время реализую инструмент, в котором ему нужно сохранить изображение холста из HTML JavaScript и загрузить изображение холста в веб-службы RESTful с помощью JSON.POST изображение холста от JavaScript до веб-служб RESTful

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

Надеюсь, вы, ребята, можете помочь мне в продвинутом режиме!

Действительно оцените любую помощь или руководство, спасибо в продвинутом виде.

+0

Не могли бы вы добавить код, который вы уже пробовали? – asg

+0

@asg вот часть моего кода javascript и html. https://jsfiddle.net/mkL58yez/2/. Теперь я застрял в том, как связать json для обслуживания веб-сервисов. Я не знаю, как закодировать в java. – lastprogrammer

ответ

0

Я сделал это некоторое время назад с сохранением уменьшенных изображений холста. В основном объект canvas имеет метод toDataURL(), я назвал его как toDataURL («image/png») и сохранил его в скрытом поле в форме, но вы также можете отправить его непосредственно с помощью ajax-вызова.

тогда в основном я сохранил изображение в этом формате в db, но вы можете сохранить его на жестком диске, возможно, более устойчивым на долгий срок. пример Ruby/rails реализация поиска эскизов:

def thumbnail 
    render :status => 200, 
     :content_type => 'image/png', 
     :text => Base64.decode64(
      thumbnail["data:image/png;base64,".length .. thumbnail.length] 
     ) # there is extra "data:image/png;base64," at the start 
end 
+0

спасибо, я пробовал этот метод. часть примера https://jsfiddle.net/mkL58yez/2/. Теперь я застрял в том, как связать json для обслуживания веб-сервисов. я понятия не имею, как закодировать в java, так как я не уверен в способах преобразования файла изображения. – lastprogrammer

+0

ну, что вы отправляете прямо здесь, есть объект json с свойством imageData. Я предполагаю, что ваш бэкенд принимает запрос POST, отформатированный json, и вы получаете доступ к нему именно так - через созданное поле imageData. как только у вас есть данные на сервере, вы можете сохранить файл, как вам угодно, - на файл на жестком диске или на облако s3. вы должны сначала декодировать его с base64 и сохранить его в двоичном формате. –

Смежные вопросы