上传时Firebase存储无效参数

cer*_*lex 9 javascript firebase firebase-storage

我一直在收到Invalid argument in put at index 0: Expected Blob or File错误.有趣的是,论证完全是一个档案......

这是代码:

var file = document.getElementById('cke_69_fileInput')
          .contentWindow.document.getElementById('cke_69_fileInput_input').files[0];

var storageUrl = 'noticias/imagenes/';
var storageRef = firebase.storage().ref(storageUrl + file.name);
console.warn(file); // Watch Screenshot
var uploadTask = storageRef.put(file);
Run Code Online (Sandbox Code Playgroud)

这是在要求文件错误之前警告的实际文件的屏幕截图... 在此输入图像描述

Aar*_*ers 20

尝试将文件转换为blob ...

  var reader = new FileReader();
  reader.onloadend = function (evt) {
    var blob = new Blob([evt.target.result], { type: "image/jpeg" });

    var storageUrl = 'noticias/imagenes/';
    var storageRef = firebase.storage().ref(storageUrl + file.name);
    console.warn(file); // Watch Screenshot
    var uploadTask = storageRef.put(blob);

  }

  reader.onerror = function (e) {
      console.log("Failed file read: " + e.toString());
  };
  reader.readAsArrayBuffer(file);
Run Code Online (Sandbox Code Playgroud)

  • 使用{type:mime}来上传所有格式的文件. (2认同)