JS解决微信上传或者下载照片文件流没有格式问题

正常情况下 JS 的 <input type='file' /> 上传图片时,会打印如下格式:

name:文件名称;size:文件大小;type:文件类型;

但是在移动端使用时,部分机型微信传的照片或者在微信里使用微信拍照模式照相时,获取不到文件流的名称和类型,导致上传失败。

解决方案:

由于File对象里的属性都是只读的,如果发现没有文件类型,只能构造一个新的File对象,重命名和类型

var file = new File( [ Blob ] , "新name" , { type: "新类型" });

// 第一个参数可以是Blob对象的数组, File对象继承Blob, 所以可以传File对象;

// 第二个参数为新文件名;

// 第三个参数是一个可选的, 设置type等属性。

整体代码:

执行效果:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容