Можно ли загрузить файл изображения с помощью AJAX на Domino Server? - PullRequest
2 голосов
/ 19 января 2011

Можно ли загрузить файл изображения с помощью AJAX на Domino Server? Я пытаюсь загрузить фотографию с телефона Android. Я могу отправить данные изображения обратно в поле расширенного текста в Domino. Но я не уверен, как отобразить его в виде изображения в форме Domino. В идеале я хотел бы отправить фотографию через ajax и прикрепить ее к документу Domino как к полю $ File.

Единственный пример, который даже близок, здесь: http://markwambler.blogspot.com/2009/10/webcam-snapshots-and-lotusdomino.html

Спасибо заранее. Я боролся с этим уже несколько дней.

1 Ответ

2 голосов
/ 20 января 2011

Итак, если вы можете отправить версию в кодировке Base64 в поле расширенного текста и хотите отобразить ее через браузер, у вас есть несколько способов сделать это.

  1. Убедитесь, чтовы создаете документ, используя MIME.
  2. Создайте объект MIME для вложения.
  3. Заполните объект MIME строкой Base64.
  4. Декодируйте его в обычное вложение файлав документе.

Это даст вам обычный документ Domino с вложением, с которым вы можете создать URL-адрес и ссылку на него.

По сути, это то, что представляет собой связанный пример кодаделает.А именно:

session.ConvertMime=False
...
Set child = parent.CreateChildEntity()
Set header = child.CreateHeader("Content-Disposition")
Call header.SetHeaderVal({attachment; filename="} & fileName & {"})
...
Call child.SetContentFromText(stream, "image/jpeg", ENC_BASE64)
Call child.DecodeContent()

После того, как вы сохранили документ, тривиально упорядочить ссылку на URL-адрес вложения, например, db.nsf/viewname/dockey/$file/filename.jpg, или поместить URL-адрес в параметр img src.

Не имея настройки для игры в данный момент, это немного сложно проверить.Я также подозреваю, что было бы лучше, если бы вы могли имитировать обычную загрузку файлов с клиента.В этом случае вам не нужно будет связываться с Base64 и MIME с расширением 1.3x по проводам, которое дает.

...