在Firefox Quantum(V57)之前,这在Firefox中是可用的。该代码在Chrome中仍然有效,但在Firefox中不再有效。
用户从本地计算机选择图像,然后创建
Blob
包含一些JSON信息和文件,如下所示:
var fileElement = $("<input>").attr({
"type": "file",
"accept": "image/*"
}).hide()
.on("change", function () {
var fileList = this.files;
if (fileList.length > 0) {
var file = fileList[0];
var str = JSON.stringify({
"uid": info.uid,
"utype": info.utype
});
var blob = new Blob([str.length, str, file]);
WebSocketConnection.sendMessage(blob);
}
});
然后在服务器端,我提取JSON字符串并获取所需信息,然后从文件中提取mime类型,并基于该mime类型,使用以下扩展名之一将文件保存在服务器磁盘上
[".png", ".jpg", ".jpeg", ".gif"]
。
由于Firefox quantum无法正常工作,收到的mime类型为
application/octet-stream
这是一个Firefox bug还是api中发生了一些更改,我需要对代码进行一些更改?