JavaScript 调用 Web API 上传文件主要涉及到 HTML 的 <input type="file">
元素和 JavaScript 中的 FormData
对象,以及使用 XMLHttpRequest
或 Fetch API
来发送请求。以下是这个过程的基础概念、优势、类型、应用场景以及可能遇到的问题和解决方法。
以下是一个简单的单文件上传的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>File Upload</title>
</head>
<body>
<input type="file" id="fileInput">
<button onclick="uploadFile()">Upload</button>
<script>
function uploadFile() {
const fileInput = document.getElementById('fileInput');
const file = fileInput.files[0];
if (file) {
const formData = new FormData();
formData.append('file', file);
fetch('/api/upload', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => console.log('Success:', data))
.catch((error) => console.error('Error:', error));
}
}
</script>
</body>
</html>
XMLHttpRequest
的 upload.onprogress
事件或 Fetch API
结合 ReadableStream
来显示上传进度。通过上述方法,可以有效地实现文件上传功能,并处理可能出现的各种问题。
领取专属 10元无门槛券
手把手带您无忧上云