Home >Backend Development >PHP Tutorial >How to get the binary data of the image uploaded by formData in php
<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>
How to write PHP to obtain the binary data of uploaded images?
Are there any errors in the js part?
<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>
How to write PHP to obtain the binary data of uploaded images?
Are there any errors in the js part?
First make sure that the attributes of the form must have enctype="multipart/form-data"
, and the instantiated FormData cannot be empty! If it is empty, the form value cannot be obtained
Use $_FILES instead of $_POST
The upload code must be written into the "change" event of the input... and the ajax callback is a bit strange. Once it is compiled, don't judge the status anymore. .
You can refer to the front-end picture I wrote for direct transmission to OSS test
FormData
is a form. All data processing is the same as the form, so PHP also processes it the same way. Uploaded files are still processed through $_FILES
.