如何通过使用blob将大文件发送到服务器,求代码
时间: 2023-05-27 18:06:09 浏览: 53
以下是一个简单的示例代码,用于向服务器发送大文件:
HTML:
```html
<input type="file" id="fileInput">
<button onclick="sendFile()">发送文件</button>
```
JavaScript:
```javascript
function sendFile() {
// 获取上传的文件
const fileInput = document.getElementById("fileInput");
const file = fileInput.files[0];
// 创建一个 FormData 对象,用于发送文件
const formData = new FormData();
formData.append("file", file);
// 发送文件到服务器
const xhr = new XMLHttpRequest();
xhr.open("POST", "/upload", true);
xhr.onload = function() {
if (xhr.status === 200) {
console.log("文件上传成功!");
} else {
console.log("文件上传失败!");
}
};
xhr.send(formData);
}
```
在这个示例中,我们首先获取用户选择的文件,然后将文件添加到一个 FormData 对象中。FormData 是一个用于序列化表单数据和文件上传的 API,可以方便地将文件上传到服务器。
然后,我们使用 XMLHttpRequest 对象来发送 FormData 对象到服务器。在发送请求后,我们使用 onload 事件来处理服务器的响应。如果响应状态码是 200,表示文件上传成功,否则表示文件上传失败。