HTML5 - прикрепить изображение к почте с помощью Java EE - PullRequest
0 голосов
/ 11 февраля 2012

Я разрабатываю приложение для рисования с использованием Javascript.

Пользователи смогут рисовать на холсте. Как только они закончат с рисованием, они смогут преобразовать его в изображение (кнопка «Преобразовать в изображение»).

Это код:

function putImage()
{
  var canvas1 = document.getElementById("canvas");        
  if (canvas1.getContext) 
  { 
    var ctx = canvas1.getContext("2d");  
    var myImage = canvas1.toDataURL("image/png");
  }
  var imageElement = document.getElementById("MyPix"); 
  imageElement.src = myImage; 
  $('#submit_btn').closest('.ui-btn').show(); 
}  

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

Могу ли я узнать, как сделать так, чтобы изображение автоматически прикреплялось к электронному письму, чтобы после ввода пользователем адреса электронной почты и тела сообщения они могли отправлять почту?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 11 февраля 2012

HTML5 Canvas имеет классный трюк API для этого:

 var encodedImage = canvas1.toDataURL();  //this generates base64 encoded image in png

   //for jpeg 
   var encodedImage = canvas1.toDataURL("image/jpeg");  

Теперь вы можете сохранить это закодированное изображение в фоновом режиме в таблице или файле. Если вы хотите показать его на странице, просто присвойте его обратно тегу html img для свойства источника

0 голосов
/ 11 февраля 2012

Чтобы отправить изображение в виде вложения с помощью javamail, вам нужны байты, скажем, jpg или bmp. Что вам нужно сделать, это отправить модель, например, координаты, на сервер и воссоздать сторону сервера изображений. Возможно, холст html5 имеет прямую поддержку для вывода изображений в байтах, я не знаю, но это помогло бы. В этом случае вы просто перенесете эти байты на сервер для прикрепления к почте.

...