<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
을 통해 처리됩니다.