Javascript 如何异步上传文件
文章标签
JavaScript
使用 HTML5,您可以使用 Ajax 和 jQuery 上传文件。不仅如此,您还可以使用 HTML5 进程标记(或 div)来执行文件验证(名称、大小和 MIME 类型)或处理 progress 事件。
下面我给出一个实现方法:
HTML
Javascript
我们可以通过文件更改事件进行一些检查
$(':file').on('更改', function () {
var 文件 = 这个 .文件[0];
if (文件大小 > 1024) {
alert('上传文件最大大小为1k');//限制文件上传大小
}
});
点击上传按钮开始活动
$(':按钮').on('点击', function () {
$.ajax({
// 服务器处理脚本
url: '上传.php',
类型:'发布',
// 表单数据
数据: new FormData($('form')[0]),
// 告诉jquery不要处理数据并且不用担心内容类型
// 必须包含以下属性
缓存:假,
内容类型:假,
处理数据:假,
xhr: 函数 () {
var myXhr = $.ajaxSettings。 xhr();
if (myXhr.upload) {
// 用于处理上传过程myXhr.upload.addEventListener('progress', function (e) {
if (e.长度可以计算) {
$('progress').attr({
值:e.loaded,
最大:e。完全的,
});
}
}, 错误的);
}
返回 myXhr;
}
});
});
正如您所看到的,使用 HTML5(和一点研究)上传文件不仅是可能的,而且非常容易。尝试使用 Google Chrome,因为某些浏览器可能不兼容。
开源扩展
我推荐uppy扩展,它支持以下功能:
- 不依赖任何插件,支持拖放功能
- 无需离开页面即可上传文件
- 在浏览器崩溃时继续上传
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
上一篇:Html5 localStorage存储对象 下一篇:是否可以更改输入日期格式?
code前端网



发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。