<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Write - base64 decoded - binary content without encoding in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/write-base64-decoded-binary-content-without-encoding/m-p/267365#M220495</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've a small javascript "upload" webscript (alfresco version: 3.4.d) to receive and parse base64 encoded document content in an XML tag, like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;request&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;officeName&amp;gt;office_0001&amp;lt;/officeName&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;worksheetId&amp;gt;worksheet_0001&amp;lt;/worksheetId&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;documentName&amp;gt;document_0001.txt&amp;lt;/documentName&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;documentMimetype&amp;gt;text/plain&amp;lt;/documentMimetype&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;documentContent&amp;gt;aGVsbG8gd29ybGQh&amp;lt;/documentContent&amp;gt;&lt;BR /&gt;&amp;lt;/request&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;After parsing of documentContent XML tag, base64 decoder results a string with decoded binary data (contentData.lenght same as original binary length): &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;logger.log(serviceName+": decoding base64 data, size: "+documentContent.length);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;var contentData = Base64x.decode(documentContent);&lt;BR /&gt;&lt;BR /&gt;logger.log(serviceName+": base64 data decoded, size: "+contentData.length);&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And next the problematic part; the contentData in newDocumentNode.content is bigger than contentData.length, looks like UTF-8 encoded (newDocumentNode.size not matched with contentData.length)…&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;var newDocumentNode = worksheetFolderNode.createFile(model.documentName);&lt;BR /&gt;if (newDocumentNode != null) {&lt;BR /&gt;&amp;nbsp; newDocumentNode.content=contentData;&lt;BR /&gt;&amp;nbsp; newDocumentNode.save();&lt;BR /&gt;&amp;nbsp; logger.log(serviceName+": new document size: "+newDocumentNode.size);&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Runtime log:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Size of original data before base64 encode: 5921&lt;BR /&gt;Test with PHP's utf8_encode: UTF-8 size of binary data: 8870&lt;/BLOCKQUOTE&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;18:29:17,503 User:admin DEBUG [repo.jscript.ScriptLogger] upload: decoding base64 data, size: 7896&lt;BR /&gt;18:29:17,536 User:admin DEBUG [repo.jscript.ScriptLogger] upload: base64 data decoded, size: 5921 (SAME AS ORIGINAL SIZE)&lt;BR /&gt;18:29:17,590 User:admin DEBUG [repo.jscript.ScriptLogger] upload: new document size: 8870 (LOOKS LIKE UTF-8 ENCODED SIZE)&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;How can i write node's content without encoding base64 decoded string?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it possible to use java-side base64 decoder from javascript webscipt? Somebody could post an example?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 03 Mar 2011 08:07:41 GMT</pubDate>
    <dc:creator>louise</dc:creator>
    <dc:date>2011-03-03T08:07:41Z</dc:date>
    <item>
      <title>Write - base64 decoded - binary content without encoding</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/write-base64-decoded-binary-content-without-encoding/m-p/267365#M220495</link>
      <description>I've a small javascript "upload" webscript (alfresco version: 3.4.d) to receive and parse base64 encoded document content in an XML tag, like this:&amp;lt;request&amp;gt;&amp;nbsp; &amp;lt;officeName&amp;gt;office_0001&amp;lt;/officeName&amp;gt;&amp;nbsp; &amp;lt;worksheetId&amp;gt;worksheet_0001&amp;lt;/worksheetId&amp;gt;&amp;nbsp; &amp;lt;documentName&amp;gt;document_00</description>
      <pubDate>Thu, 03 Mar 2011 08:07:41 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/write-base64-decoded-binary-content-without-encoding/m-p/267365#M220495</guid>
      <dc:creator>louise</dc:creator>
      <dc:date>2011-03-03T08:07:41Z</dc:date>
    </item>
    <item>
      <title>Re: Write - base64 decoded - binary content without encoding</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/write-base64-decoded-binary-content-without-encoding/m-p/267366#M220496</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Did you try to set the correct mimetype before you put the content into newDocumentNode? newDocumentNode.mimetype = xxx;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Mar 2011 22:52:28 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/write-base64-decoded-binary-content-without-encoding/m-p/267366#M220496</guid>
      <dc:creator>sufo</dc:creator>
      <dc:date>2011-03-09T22:52:28Z</dc:date>
    </item>
  </channel>
</rss>

