> 백엔드 개발 > PHP 튜토리얼 > PHP에서 formData로 업로드된 이미지의 바이너리 데이터를 얻는 방법

PHP에서 formData로 업로드된 이미지의 바이너리 데이터를 얻는 방법

WBOY
풀어 주다: 2016-09-14 09:41:23
원래의
2248명이 탐색했습니다.

<code>                        <input id="file" type="file" accept="image/png,image/gif,image/jpeg" name="file">
                        ----------------------------------------------------------------
                        
                        var fileInput = document.getElementById("file");
                        var file = fileInput.files[0];
                        var formData = new FormData();
                        formData.append("file", file);

                        $.ajax({
                            url: "./upload_photobank.php",
                            type: "POST",
                            data: formData,
                            processData: false,  // 告诉jQuery不要去处理发送的数据
                            contentType: false,   // 告诉jQuery不要去设置Content-Type请求头
                            complete : function(jqXHR, textStatus) {
                                if(jqXHR.status != 200){
                                    console.log( 456 )
                                }else{
                                    var jsonData = eval('(' + jqXHR.responseText + ')');
                                    // var jsonData = jqXHR.responseText;                                        
                                    console.log(jqXHR.responseText);
                                }
                            }
                        });</code>
로그인 후 복사
로그인 후 복사

업로드된 이미지의 바이너리 데이터를 얻기 위해 PHP를 작성하는 방법은 무엇입니까?
js 부분에 오류가 있나요?

답글 내용:

<code>                        <input id="file" type="file" accept="image/png,image/gif,image/jpeg" name="file">
                        ----------------------------------------------------------------
                        
                        var fileInput = document.getElementById("file");
                        var file = fileInput.files[0];
                        var formData = new FormData();
                        formData.append("file", file);

                        $.ajax({
                            url: "./upload_photobank.php",
                            type: "POST",
                            data: formData,
                            processData: false,  // 告诉jQuery不要去处理发送的数据
                            contentType: false,   // 告诉jQuery不要去设置Content-Type请求头
                            complete : function(jqXHR, textStatus) {
                                if(jqXHR.status != 200){
                                    console.log( 456 )
                                }else{
                                    var jsonData = eval('(' + jqXHR.responseText + ')');
                                    // var jsonData = jqXHR.responseText;                                        
                                    console.log(jqXHR.responseText);
                                }
                            }
                        });</code>
로그인 후 복사
로그인 후 복사

업로드된 이미지의 바이너리 데이터를 얻기 위해 PHP를 작성하는 방법은 무엇입니까?
js 부분에 오류가 있나요?

먼저 양식의 속성에 enctype="multipart/form-data"이 있어야 하고 인스턴스화된 FormData가 비어 있을 수 없는지 확인하세요! 비어 있으면 양식 값을 가져올 수 없습니다

$_POST 대신 $_FILES 사용

업로드 코드는 입력의 "변경" 이벤트에 작성되어야 하는데... Ajax 콜백이 컴파일되면 더 이상 상태를 판단하지 마세요. .
제가 작성한 프론트엔드 이미지 직접전송 OSS 테스트를 참고하시면 됩니다

FormData은 모든 데이터 처리가 폼과 동일하므로, 파일 업로드도 여전히 $_FILES을 통해 처리됩니다.

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿