отправить файл pdf в xml сообщении - PullRequest
8 голосов
/ 23 декабря 2010

Я хочу отправить файл PDF в сообщении XML.Как я могу сделать это в Java?какой тип данных я использую в схеме?

спасибо заранее

Ответы [ 2 ]

13 голосов
/ 23 декабря 2010

Вы можете преобразовать PDF-файл в Base64 Binary и обернуть его в Элемент контейнера с типом xs:base64Binary.Например, вы можете использовать это определение схемы, чтобы поместить файл PDF в сообщение xml.

<xs:complexType name="documentType">
 <xs:sequence>
    <xs:element minOccurs="0" name="mimetype" type="xs:string" />
    <xs:element minOccurs="0" name="filename" type="xs:string" />
    <xs:element name="content" type="xs:base64Binary" />
 </xs:sequence>
</xs:complexType>

Вы можете использовать org.apache.commons.codec.binary.Base64 для этого подхода, если у вас уже есть commons-codec в вашем проекте.Он поддерживает использование фрагментированных данных и строк.Например:

// You can read in the PDF file with FileReader and get the bytes
// Please obey that this solution must be improved for large pdf files

Base64.encodeBase64(binaryData, true)
1 голос
/ 23 декабря 2010

Я предлагаю вам использовать байтовый массив в каком-либо теге. Например:

<file>
  <name>Test.pdf</name>
  <content>here are the bytes of the file</content>
</file>

Вы можете использовать JAXB для автоматического создания XML-файла из объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...