File API 是文件上传的基础,需配合 XMLHttpRequest 或 Fetch 使用;通过 input[type="file"] 获取 File 对象,校验大小与类型后,用 FormData 构造请求并发送,支持进度监听与错误处理。

JavaScript 中实现文件上传,File API 是基础支撑,但它本身不直接“上传”,而是配合 XMLHttpRequest 或 Fetch API 完成上传逻辑。所谓“FileAPI 使用”,核心是读取、校验、构造并发送文件数据。
用户选择文件后,<input type="file"> 的 files 属性返回一个 FileList 对象(类数组),每个项都是 File 实例(继承自 Blob):
input.files[0] 获取第一个文件(单选);多选则遍历 input.files
File 对象自带属性:name(文件名)、size(字节大小)、type(MIME 类型,如 "image/jpeg"),可用于前端校验file.path 在浏览器中始终为 ""
上传前建议做轻量校验,提升体验并减少无效请求:
files.length > 0,避免空提交file.size 限制大小(例如 ≤ 5MB):if (file.size > 5 * 1024 * 1024) { alert("文件不能超过 5MB"); return; }
file.type 或文件扩展名(file.name.split('.').pop().toLowerCase())过滤类型,如只允许 ["jpg", "png", "pdf"]
URL.createObjectURL(file) 生成临时 URL 绑定到 <img alt="JavaScript中如何实现文件上传_FileAPI使用" > 标签浏览器上传文件必须使用 FormData 对象包装,它能自动设置正确的 Content-Type: multipart/form-data 及边界(boundary):
功能介绍:1、模块化的程序设计,使得前台页面设计与程序设计几乎完全分离。在前台页面采用过程调用方法。在修改页面设计时只需要在相应位置调用设计好的过程就可以了。另外,这些过程还提供了不同的调用参数,以实现不同的效果;2、阅读等级功能,可以加密产品,进行收费管理;3、可以完全可视化编辑文章内容,所见即所得;4、无组件上传文件,服务器无需安装任何上传组件,无需支持FSO,即可上传文件。可限制文件上传的类
0
立即学习“Java免费学习笔记(深入)”;
const formData = new FormData();
formData.append("file", file);(服务端接收字段名为 file)formData.append("desc", "用户头像"); formData.append("uid", "123");
fetch 上传示例:fetch("/upload", {
method: "POST",
body: formData // 不要设 headers!FormData 会自动生成 Content-Type
})
.then(r => r.json())
.then(data => console.log("上传成功:", data));
上传大文件时,用户需要感知进度。XMLHttpRequest 支持原生进度事件,Fetch 目前不支持(需流式解析或第三方库):
XMLHttpRequest 可监听 upload.onprogress:const xhr = new XMLHttpRequest();
xhr.upload.onprogress = e => {
if (e.lengthComputable) {
const percent = Math.round((e.loaded / e.total) * 100);
console.log(`上传中... ${percent}%`);
}
};
xhr.onload = () => {
if (xhr.status === 200) console.log("成功", JSON.parse(xhr.responseText));
};
xhr.open("POST", "/upload");
xhr.send(formData);
{ success: true, url: "https://xxx.com/abc.jpg" }),便于前端处理后续逻辑(如显示图片、存入表单字段等)基本上就这些。File API 提供了安全可控的文件访问能力,真正上传靠的是和后端约定好的接口 + FormData + 请求发送。不复杂但容易忽略校验和用户体验细节。
以上就是JavaScript中如何实现文件上传_FileAPI使用的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号