I am getting an image from file with javascript, then I am attempting to send the image to a PHP script for processing, but I am unable to decipher it inside the php file
here is my JavaScript code.
var image_file;
function getPhoto(){
var file = document.getElementById('ad_photo');
var image = document.getElementById('ad_photo_upload');
var fReader = new FileReader();
fReader.readAsDataURL(file.files[0]);
image_file = file.files[0];
fReader.onloadend = function(event){
image.src = event.target.result;
}
}
function update_profile(){
var file = document.getElementById('ad_photo_upload');
var data = new FormData();
data.append('file', image_file);
var url = "profile/update/";
HTTP.open("POST", url, true);
HTTP.setRequestHeader("Content-type","application/x-www-form-urlencoded");
HTTP.onreadystatechange = function()
{
if(HTTP.readyState == 4 && HTTP.status == 200){
document.getElementById("df").innerHTML = HTTP.responseText;
}
}
HTTP.send(data);
}
PHP
public function update(){
var_dump($_POST);
}
Var_dump result
array (size=657)
'------WebKitFormBoundary67r2AtAPnklDtBm5
Content-Disposition:_form-data;_name' => string '"file"; filename="1420338105027.jpg"
Content-Type: image/jpeg
�����JFIF���������C�
���C
�����"��������������
�������}�!1AQa"q2���#B��R��$3br�
%' (length=342)
''()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������' => string '��i�q' (length=5)
'�#��7�u]�ϛ����1D��~���' => string 'vo����ǃ,|/k�I����Oo�L����_' (length=30)
'����N�' => string '���}z����K�j��3�ى�M5�Z��.k����j{{��_to��e' (length=47)
'�j�ZW���FzS�y���-����9_fHߝ:ӢVy1]������O���um;K�˴k��t������ڎ���W��V�KC' => string '�����:��������Z�N��>�<'�6�m���> ����l<?��_�̰��Rl���j���>���p�����L�s{�������."��iWKp���9-|ϻ�����R�q'��' (length=117)
'�c��
X�Z��u��cʻ>O�eV6�F���U��n�r�#����Wf�(<�/�F�' => string '��4'��S���ce��]���ޯ���@ f������' (length=35)
'������6�n�R����2�t������' => string 'C��s�O���?ܪ�}̰ȋ���R|��%6�P��'�ZI���%]�lHβE�I��M�>�����X�� ���k�����,��"�HK�Ѧ�۵Ҕ�ҿ�>D������];؇mͭ?��͝��vr[%㬲�۱�T���jm�k�ɳ;֫G��R]��g�_?�?
��n������?ܩ�g"�RV4.m_d
����yޒ6Y�7�����=����i' (length=213)
'�Υ��|��$>W�o˧�O��{_#d�]�y�Z�gZ�Լ��H�W��?��' => string '��Q����V:̾C��Α�% 1������ڰ�Ku�߅����9��/����}��.[��c�?��3yM"�����UYb�sI�?��ܬ�'��A��:����q �O�t~�_�Q}��G�jv�~��DV�^�t���)�]!�'��]��K��=��}u�]����O�ޮ���J���;���έ�]ԺM��_����.��|�F駂H�o��r��O�㕟Sr�(yk!����${$������-*嵒�?io���?۫����3�5�����#����{�qc-��$�����瑧��o�B���7�����O���x���������_t_�� :<5�4��H��;���q�})��rvGc�~�:��Z|H�-'����|��w�_<��~O�M����<"�_���ۍ
�' (length=408)
'�6ZI�|��<Wŗ�f�' => string '�e7-�觻 ��_���YVO���/�6U�x%����{J����f�"�����ε�g�i�q��G��y��kA�< ��c�A�[���_��*���s$mq'��' (length=95)
'��(��N�<0���U��X�lu6�' => string 'T7�)�|���' (length=9)
'G��K^^x��O�4�����I�e�|�ZV�վw�V�d��' => string '�k���|/Ο����4wR���;��v����G���G�?����,�>�թ����G�U��Z϶4�*�����h������eZ/2H[�Tsg��\�:mk@��� i:�����B���E�h��m��\�' (length=121)
''�����#������' => string '�k�?�?��Rmt�ٳ�V/�<�d�����Q�������n�����,' (length=44)
'����p�r�V��$��' => string '�ߪ���"��?ۤx� ��"��#� ���Pi��Y�y�������S���_�O�(�Fmb���4�'�_��C7�%�~G����� i��
�e�'�fM���~�n?x�������� ��
��=����r���}Rx�_����-*R�;��>M�r�����aky�\@��}2fO>8c�f�s@��n#���D?�[���������' (length=200)
'�|]' => string '�#�oH?���vm�' (length=13)
'���°I��}�' => string '��7�s�����,�dm��ˑ�
ڿ��6H��w�M�F�O/��ۿ�ښ�_��'���������|t�/rm�8����}��}��������Y]�/ܭ�Kvx�h�5�����H������?�_�g���w��'����nBcV5�㍤����T
��Zɲ����W��J��o�i��
�>t\���rϾ�*�>o�o⥂�I�.�ɿ}Mo� ���w�����#9����u�.%
�o�"�U��i��g��"�/�a'�Z���o�'h^!�?���"�F��G�w:��잴�IH\��%yx�ű(Xe~�z��~W[tލ��I%>=�' (length=309)
'o/���
Ȱ|�~�����پ��n#j�Qy�cV�䊪��l�'�Q�b�G�H�g�?��r�d�g���*9��<�,������;�x�?٥�_���_*��\t' => string 'R��M�K��W�����' (length=15)
'������?�_öw?�ֿ��kc���7��m�Y�<��' => string '���I�� �zd����GĠ�<�uX�H��6I�9⾒��e= �wïx��Ŷ:ĺ�Q��v����' (length=64)
'�w�y���' => string 'Ho�A]��/�Z�ōvM'ñ�5�P����yI�}ꆓ%��|F�U����mw�����Ԭ��Ug�?��m����E�weM�[�T,۩��ur$c��O�r��I�gݠ��Kjc�h��O�"fԲ6��Q�����m=b��������H��g�����~_�6�]�������ɫd�ꘉ��.�����r��l��W�=cS}kR���4��v��O����K��h�����{n�Q�SR��Ӥg��w�����nfG���c1����:�����FU�kyJ��t�I�T2/�57���zb }����h�5L_1d� ���eM�_���M-��-���%E�Z��Ꙋm��W���ٲ���n�PȾSӣ���U�ۻ4j�����*���r�o����1doߢ����m\VK���k�5v����s=;V��Ty<�����KH�O-w�*�W���}��|?���;����T�Xvv?�����\B�l�\����B���v������?�[7��m>�Eu �' (length=501)
'ӹ>D�
���7B����k�(��żV�*y�' => string 'n��-�m�7��tN�$V���UU�ԋ*�
��!a�$�|�j[{]��m'����"e��䦧�[��,_%%mخ������ė^��0�S��a@��g�\�U��窺v�����s?�3�����F��MK
���7Z�F�G��m̿v����̌�7}Jy�5����E���c�ຂ� E�Py�����\ �����ur�/��:��U�ui��wֺ\wS��v���O�t��nw����eۧ�>z�>j����������������3T���\O���3�����T���(ɱ��������d��R�9��ų�W�[��M����?���U%�cO�� ����~c����t�M�/���:�C$��/�����U�k�m�܍���X���j�2Әo<�ꮛ��j0_嫐E�O2�����Z�z�,X��:������{7�J�c��[K��#�o��Y��}�n�����ޢy[����w��,G6ǞW�����ul�cؿh�� �g���
m5 -�v�q/��{�'... (length=528)
'�VHg?}��bHr����_��%��d�˩��vU�I�_�$��e_�����/g�~���T��>�s�|�R��ig��h�����k%ݾ��Kuy��' => string '�Ŀ��/�F���]���Ǔ6���J��B����>ߓ��%ơsu���GD���Y���[M� ��\�O~�d����{�Q|�q�j%����%�;G���-\ѫ��#��}ƨc'��Ш�����۽
"y[a�c��~��zyr��-65��o�j�]]b�d��$����=��ʮ�1M���Ю��Z��-dk����UH��#�j�D�7��W%�/6d��j�@�9�ύ6���
���y?�����\���,��Y���Z6:��<q��.��u�ȏ��Sj�]���Oc�G���e������.��"�>�"���rI4��O��-���u.6d��<p~���l��(Ԥ}9,����g��x6��Z��涛��>F���Xd����[�m��#��n��QZ�u}�U���q�v�|Ug�iV:a�d�]S}��oM[�.=���%̈́�M���|�
��_��/�\��U��x�����kH;��%G�
� 8 b��g��f����qW�N݁#sƟu�:��N�'�l'... (length=647)
'��x��8��5?�V-�yc�o����v����' => string '£o��g�~*��~*�|A��u-������1IZ� 5��O4~BUɼ��' (length=45)
'O?w���__�W��?jZ�~\]M�ed,r��yq����' => string 'A�����������"�U���.����{ԣ�
����Þ#�7R�n���d�e]�FW �/��t����Ȼy��7�'�G��{_�AIwϿ{���j���W�Zg����/�Pi���o5��ڭ:u�����B�M���H�>��>_Z��K����>��r�m�r���d�I�DO���I!���!�w��Sx~�,�V�������>��0��3��Tt�حqR�����/���z#���8�
�������S��m̐��Ǘ����z����V
< ����Px�]rѭ��d۾��x��|��n����m�����t��U������~_�vt��2���G4�����#;/�H��)���^��_T��m������ �ㅚ�F_��b�(��=�$���n�)7`)��ɻ�P����J$�X��jHc��IM �)۴���Վ�6�=�6��>ī�m���af�]�J��<��ܧk�7�#�������$_r����v�ҍL�n�Qմ�����>�?2�/��Ƭ������'... (length=765)
'˹���
A��UЭm�Ac�$�lV�㱓{ڳv8�(d{o�o���' => string '��[ZH�G��u�8'�$�y=D���;I' (length=26)
' ��:s7�'�H��*���' => string '1�Z/���@
�m���}�!f����b7ɾJ�>!|-�~A��j^F�^�n��߲6�\���i����N�,��D����~G����_\��?���xWŶ�$�����m�b����rv��=Ɵ%��9$�ꯜ���T��^�.���Qգ��y�z���Cx���R��_e�_��o�K�u�1��%����������=�]'X<�1�ﺟ�>A�C�����VW����\6 6����w����t�-�K{��仓���.4��[(5-�M>_�;�:|������������r��f����Ɍ��6����e�Oku�\'�������Ӷ�$�E����jt ��]7��r:�J�|"��y�G�z������ܧ��Oi,��ˤI�� ���'�<[���_
just remove this line, and i think it should work:
HTTP.setRequestHeader("Content-type","application/x-www-form-urlencoded");
because the correct header would be something like
HTTP.setRequestHeader("Content-Type","multipart/form-data; boundary=----WebKitFormBoundary67r2AtAPnklDtBm5");
but XMLHttpRequest.send(FormData) will set that for you automatically. when you overwrite content-type here, with the wrong value, it makes PHP parse the $_POST wrong, and you get this useless/wrongly parsed data in $_POST :p