ajax通过FormData上传文件
<input type="file" id="uploadKnowledge" name="upload_knowledge">
js代码
// 可以临时显示 $("#uploadKnowledge").change(function (e) { const file = e.target.files[0]; $("#uploadReady").html(file.name).attr("href", URL.createObjectURL(file)); });
// 点击提交 $("button").click(function (event) { let file = $("#uploadKnowledge")[0].files[0]; let formData = new FormData(); formData.append('id', '123'); // post数据 formData.append('name',file.name); formData.append('upload_knowledge', file); // 字段名 'upload_knowledge' 后端php用$_FILE接收 $.ajax({ url: '/source-video-knowledge/save-data', type: 'POST', data: formData, processData: false, // 必须设为 false contentType: false, // 必须设为 false xhr: function() { const xhr = new window.XMLHttpRequest(); // 可选:监听上传进度 xhr.upload.addEventListener("progress", function(evt) { if (evt.lengthComputable) { const percentComplete = evt.loaded / evt.total * 100; // console.log('上传进度:', Math.round(percentComplete) + '%'); } }, false); return xhr; }, success: function (res) { if (res.code === 200) { } else { console.log(res); } }, error: function(err) { console.error('上传失败:', err); layer.msg('上传失败,请重试'); }, complete: function () { layer.close(layerLoading); } }); });
后端php可以同时接收post数据和file数据
If the copyright belongs to the longfei, please indicate the source!!!
浙公网安备 33010602011771号