dongsong4418 2015-03-01 16:55
浏览 2861

如何通过AJAX将图像发送到php

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��$��' =&gt; 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:��&lt;q��.��u�ȏ��Sj�]���Oc�G���e������.��"�&gt;�"���rI4��O��-���u.6d��&lt;p~���l��(Ԥ}9,����g��x6��Z��涛��&gt;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����' =&gt; string '£o��g�~*��~*�|A��u-������1IZ� 5��O4~BUɼ��' (length=45)
'O?w���__�W��?jZ�~\]M�ed,r��yq����' =&gt; string 'A�����������"�U���.����{ԣ�
����Þ#�7R�n���d�e]�FW �/��t����Ȼy��7�'�G��{_�AIwϿ{���j���W�Zg����/�Pi���o5��ڭ:u�����B�M���H�&gt;��&gt;_Z��K����&gt;��r�m�r���d�I�DO���I!���!�w��Sx~�,�V�������&gt;��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��&gt;ī�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�� ���'�<[���_

  • 写回答

1条回答 默认 最新

  • dougu4704 2015-03-01 23:43
    关注

    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

    评论

报告相同问题?

悬赏问题

  • ¥30 matlab解优化问题代码
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化
  • ¥15 基于图神经网络的COVID-19药物筛选研究
  • ¥30 软件自定义无线电该怎样使用
  • ¥15 R语言mediation包做中介分析,直接效应和间接效应都很小,为什么?
  • ¥15 Jenkins+k8s部署slave节点offline