Javascript readAsDataURL未返回图像类型

Javascript readAsDataURL未返回图像类型,javascript,filereader,Javascript,Filereader,在使用readAsDataURL读取图像时,如何强制返回图像类型(如果不返回的话) window.onload = function() { if (window.File && window.FileList && window.FileReader) { $("#file").on("change", function(event) { event.preventDefault(); va

在使用readAsDataURL读取图像时,如何强制返回图像类型(如果不返回的话)

window.onload = function() {
    if (window.File && window.FileList && window.FileReader) {
        $("#file").on("change", function(event) {
            event.preventDefault();
            var output = document.getElementById("result");
            existingNode = document.getElementById("addMore");
            var files = event.target.files;
            for (var i = 0; i < files.length; i++)
            {
                var file = files[i];
            var picReader = new FileReader();
            picReader.onload = function(event) {
                var picFile = event.target;
                var formElement = document.getElementById("submitForm");
                var dataToBeSent = new FormData(formElement);

                count++;
                var div = document.createElement("div");
                div.innerHTML = '<div class="fl pu_mr1 pu_mr2 wrap' + count + '">' + '<div class="photobox posrel">' + '<div class="posabs txtc fontlig color2 f14 lh30 pum35 dispnone retryMessage"><i class="up_sprite pu_retry pu_mt2"></i>Retry</div>' + "<img class='classimg1 opa50 uploading" + count + "' src='" + picFile.result + "'" + "title='" + picFile.name + "'/>" + '<div class="posabs pu_pos1" onclick="deleteThisPhoto(' + count + ')"><a href="#" class="up_sprite pu_cross"></a></div>' + '<div class="posabs fullwid pu_pos2 uploadingBar' + count + '">' + '<div class="wid80p brdr12">' + '<div class="bg7 hgt10 mrl0 uploadingPercent' + count + '" style="width:0px;"></div>' + '</div></div></div></div>';
                output.insertBefore(div, existingNode);
                generatingDiv.innerHTML = "";
                formDataArray[count] = dataToBeSent;

            };
            picReader.readAsDataURL(file);   //Read the image
        }
window.onload=function(){
if(window.File&&window.FileList&&window.FileReader){
$(“#文件”)。关于(“更改”,函数(事件){
event.preventDefault();
var输出=document.getElementById(“结果”);
existingNode=document.getElementById(“addMore”);
var files=event.target.files;
对于(var i=0;i
文件对象具有
类型
属性,该属性包含mime类型:

for (var i = 0; i < files.length; i++) {
  var file = files[i];
  var fileType = file.type;
  console.log(fileType); // image/png
}
jsiddle演示:


这里是我创建的一个小模块:

如果可能的话,可以发布
js
?Thankstested在sony xperia L 4.1版上,当发出警报时,静态图像类型为空:(@user1850796当你发出
警报(JSON.stringify(file))时,你会得到什么
?它返回包含详细名称、大小、LastModifiedDate和类型的文件数组。但类型为空(type=“”)。在Android(4.2)本机浏览器上。base64字符串也没有mime类型?
警报(picReader.result)
警报(picReader.result)中缺少图像类型。
function base64MimeType(encoded) {
  if (!encoded) return;
  var mime = encoded.match(/data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+).*,.*/);

  if (mime && mime.length) return mime[1];
}

var picReader = new FileReader();
picReader.readAsDataURL(file);
var base64 = picReader.result;
console.log(base64MimeType(base54)); // image/png