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存储对象 下一篇:是否可以更改输入日期格式?
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。