I'm dealing with a web scraper written in jQuery. What I need is to get a PDF file in a Base64 encoded string.
I get the PDF with an AJAX Submit:
$( '#myform' ).ajaxSubmit(function(data) {
alert.console(data);
});
Console displays:
"%PDF-1.4 %���� 3 0 obj <>/Subtype/Form/BBox[0 0 361 50]/Matrix [1 0 0 1 0 0]/Length 3172/FormType 1/Filter/FlateDecode>>stream x��\M�%����)�BJ�����+/����l��N��I�b����#+UO���?ׯ�����?ׯ���%��>���O?����O��o�����~������������ϰ��Ր���W����[�>�3<�������B%<��Ld����K�����ij���/��-�5�[Z&�����߶���7p"m��f����&�W�Q�c ����f�ǟI�9,�JW� �p4�#���+�ZS� �pv�3I�� jHEL��˟I z��꽰��Z 0�.�(HWHz�^���-Ц�˟I b�����
B
�]�LR�BI� ��T���8����@_����n�@�|$��^�v}] [...]
Ok. Now I need the Base64 string.
I've used FileReader, jQuery Base64 plugins, but the encoded string it's always invalid:
JVBERi0xLjQKJe+/ve+/ve+/ve+/vQozIDAgb2JqCjw8L1R5cGUvWE9iamVjdC9SZXNvdXJjZXM8PC9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXT4+L1N1YnR5cGUvRm9ybS9CQm94WzAgMCAzNjEgNTBdL01hdHJpeCBbMSAwIDAgMSAwIDBdL0xlbmd0aCAzMTcyL0Zvcm1UeXBlIDEvRmlsdGVyL0ZsYXRlRGVjb2RlPj5zdHJlYW0KeO+/ve+/vVxN77+9Je+/ve+/ve+/ve+/vSnvv70EQkrvv73vv73vv70VBu+/ve+/vSsvDO+/vQzvv70Y77+9B++/vWzvv73vv71O77+977+9GEnvv71i77+9Du+/ve+/vQvvv70jKwJVT++/vR0V77+977+9Xz/Xr++/ve+/ve+/ve+/ve+/vT/Xr++/ve+/ve+/vSXvv73vv70+A++/ve+/ve+/vU8/77+977+9E3/vv73vv71P77+977+9H2/vv71/77+977+977+977+9H37vv73vv73vv73vv73vv71ff++/ve+/ve+/ve+/ve+/ve+/ve+/vc+w77+977+91ZDvv73vv70P77+9V++/ve+/ve+/ve+/vVvvv70+77+9Mzzvv73vv73vv73vv71/77+977+9H++/vUIlPO+/ve+/vUxk77+977+977+9He+/vUvvv73vv73vv70f77+977+9aWrvv73vv73vv70v77+9Gu+/vS3vv70177+9W1om77+977+977+977+9HO+/vd+ [...]
If I save the file into my FS then I can execute:
$ base64 ~/tmp/myfile.pdf
and I get a valid Base64 string:
JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlL1hPYmplY3QvUmVzb3VyY2VzPDwvUHJvY1Nl dCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0+Pi9TdWJ0eXBlL0Zvcm0vQkJv eFswIDAgMzYxIDUwXS9NYXRyaXggWzEgMCAwIDEgMCAwXS9MZW5ndGggMzE3Mi9Gb3JtVHlwZSAx L0ZpbHRlci9GbGF0ZURlY29kZT4+c3RyZWFtCnicrVxBjiS3Ebz3K+YFRJGsYpFfMKCDTjoYvhm2 YXgFrC7+vorMJDMq6YOBCexBwVTmRGCm2TmxsV0/P8fXdXz9eP5zfP3nk0tc/706+Nfnt8/vn/j1 30/6+svT9O9PPL5++fz1b8fX3z8/nz/fGv9/hrXnqYac5X8oPsJxlBSfwvHCr+H+549/fq7QLvlC JVyXtAxkg6PFHfVL/ePz60vtahqaX6f/RX6HeMrsHe5TWgay0dHijhzyqt+2Hw9q+g0cyEbr+7tZ 1zf62+TxCHeU4ZiCfj8Hslnp8WcSfw6T/gy1Kv+AQNib3JFEX0K5lf8OqSj/gEA4uvyZpOAOtaiC Gs75ExgQGEeXP5MUtHDo1Xtg0Ze1QGAcXf7MUZCOkPT+PbDqa1ugTUuXP5MUxHDqJUwpHFPBgMA4 [...]
THAT is what I need. Can anyone help me?
Thanks in advance.