js实现异步上传大文件
在JavaScript中,可以使用XMLHttpRequest对象实现异步上传大文件。以下是一个基本的示例:
function uploadFile(file) {
var xhr = new XMLHttpRequest();
var formData = new FormData();
formData.append('file', file);
xhr.upload.addEventListener('progress', function(event) {
if (event.lengthComputable) {
var percent = (event.loaded / event.total) * 100;
console.log('Upload progress: ' + percent + '%');
}
});
xhr.addEventListener('load', function(event) {
console.log('Upload complete!');
});
xhr.addEventListener('error', function(event) {
console.log('Upload failed!');
});
xhr.open('POST', '/upload', true);
xhr.send(formData);
}
在这个示例中,我们首先创建一个XMLHttpRequest对象,然后创建一个FormData对象,并将文件添加到表单中。接下来,我们添加一个事件侦听器来跟踪上传进度。如果事件是可计算的,我们计算百分比并将其记录到控制台中。然后,我们为上传和错误事件添加侦听器。最后,我们打开POST请求,将表单数据发送到服务器。
注意,这只是一个简单的示例,实际的上传过程可能会更复杂,需要考虑到文件分块、断点续传、上传速度控制等问题。
原文地址: http://www.cveoy.top/t/topic/bUlV 著作权归作者所有。请勿转载和采集!