首页 > 编程知识 正文

用js调用api接口,js获取文件上传进度

时间:2023-05-05 20:42:53 阅读:25909 作者:4030

对网络程序员来说,在网页上处理文件上传总是一件麻烦事。 以前,不能通过拖动上传图像。 而且,它没有复杂的Ajax上传技术,很少处理多个文件的批量上传。 除非在上传完成后从服务器端获取,否则也无法获取正在上传的信息。 有时候上传结束后,我发现上传的文件不适合——。 可恶!

现在,HTML5革命、现代浏览器的诞生、JavaScript的升级,这些都为我们提供了获取使用JavaScript和input[type=file]元素上载文件的过程信息的能力。 让我们看看这些上传文件API是如何使用的。

访问要上传的文件的列表信息

必须使用files属性才能获取要上载到所有input[type=file]的文件列表。

//Assuming

varuploadinput=document.getelementbyid (upload );

upload input.addevent listener (' change ',function ) {

控制台. log (upload input.files )//File listing!

);

很遗憾,这个文件列表没有forEach这个方法,所以我们只能使用旧的循环技巧循环操作文件列表:

for(varI=0,file count=upload input.files.length; I文件计数; I ) {

console.log(files[I];

}

重要的是,文件列表具有长度属性。

获取各个上传文件的信息

文件列表中的每个文件对象都包含有关此文件的大量信息,包括文件大小、文件MIME类型、上次修改时间和文件名。

{

最后修改: 1428005315000,

最后修改日期: thu apr 02201515336008336035 GMT-0500 (CDT )、

name: 'profile.pdf ',

size: 135568,

类型: ' application/pdf ',

webkitRelativePath: ' '

}

在上传文件之前,能够验证这些基本信息是最有用的。 例如,可以检查文件的类型和大小。

var maxAllowedSize=500000;

for(varI=0,file count=upload input.files.length,总大小=0; I文件计数; I ) {

totalSize =files[i].size;

总体尺寸最大值低分辨率(if ) {

//notifytheuserthattheirfile(s ) are too large

}

if(files[I].type!='应用程序/pdf

//notifyofinvalidfiletypeforfileinquestion

}

}

如果用户上传的文件太大,超出了允许范围,或者上传类型错误,可以阻止用户上传并提供必要的提示。 上传不成功的理由是什么?

今天就这么简单介绍文件上传API。 这是一个很好的API,有助于在上传文件时浪费很多时间。 这个文件上传API有很多这里没有介绍的知识。 你可以去MDN带着上进心详细阅读。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。