您的位置:首页 > Web前端 > JavaScript

js 根据已有File对象构造新的File对象

2017-08-04 12:42 120 查看
场景:vivo x5max手机录制的视频名称是没有后缀的, 后台代码对后缀做了控制, 没有后缀会抛异常出去, 又不能修改后台代码,只能在前端下功夫了

解决思路:

根据已有的File对象, 构造出新的File对象

var file = document.getElementById('videoInput').files[0]; //获取已经上传的文件

//如果没有后缀 vivo x5max
if(file.name.indexOf(".") <= 0){ //判断文件名, 没有后缀就重新构造一个File对象
file = new File([file], new Date().getTime()+".mp4",{type:"video/mp4"})
}

构造函数: File(bits, name[, options], 具体文档可以参考:https://developer.mozilla.org/zh-CN/docs/Web/API/File/File , 我这里仅做简单介绍

bits: 必须是数组, 可以是Blob的数组, File对象继承自Blob, 所以可以传递File对象
name:要设置的文件名

options: 可以设置其他的一些属性, 如文件类型type; 没有后缀时, 原File对象的type属性可能为空, 在这里可以设置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js File