跟传统的mutipart上传文件不同,我们以后端php为例来演示一下:
html代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>XHR 上传文件示例</title> </head> <body> <input type="file" id="fileInput"> <button id="uploadButton">上传</button> <script> const fileInput = document.getElementById('fileInput'); const uploadButton = document.getElementById('uploadButton'); uploadButton.addEventListener('click', () => { const file = fileInput.files[0]; const xhr = new XMLHttpRequest(); xhr.open('POST', 'upload.php'); xhr.setRequestHeader('Content-Type', 'application/octet-stream'); xhr.setRequestHeader('X-File-Name', file.name); xhr.onload = () => { console.log('上传成功'); }; xhr.onerror = () => { console.log('上传失败'); }; xhr.send(file); return function(){ xhr.abort(); } }); </script> </body> </html>upload.php
<?php // 获取原始的文件内容 $rawData = file_get_contents('php://input'); // 得到文件名 $fileName = $_SERVER['HTTP_X_FILE_NAME']; // 写入文件 $fp = fopen("/data/wwwroot/default/Data/{$fileName}", 'w'); fwrite($fp, $rawData); fclose($fp);
网友回复
腾讯混元模型广场里都是混元模型的垂直小模型,如何api调用?
为啥所有的照片分辨率提升工具都会修改照片上的图案细节?
js如何在浏览器中将webm视频的声音分离为单独音频?
微信小程序如何播放第三方域名url的mp4视频?
ai多模态大模型能实时识别视频中的手语为文字吗?
如何远程调试别人的chrome浏览器获取调试信息?
为啥js打开新网页window.open设置窗口宽高无效?
浏览器中js的navigator.mediaDevices.getDisplayMedia屏幕录像无法录制SpeechSynthesisUtterance产生的说话声音?
js中mediaRecorder如何录制window.speechSynthesis声音音频并下载?
python如何直接获取抖音短视频的音频文件url?