尝试上传到存储时出现 firebase 错误
Getting firebase error when trying to upload to storage
我在尝试上传到 firebase 时在控制台中遇到下一个错误:
Uncaught FirebaseError: Firebase Storage: Invalid argument in `put` at index 0: Expected Blob or File.
js:
var file, fileName, fileRef, storageImagesRef, storageRef, uploadTask;
var storageFolder = '/pictures/';
function getFileName(fileInput) {
file = fileInput.files;
fileName = file[0].name;
storageRef = firebase.storage().ref(storageFolder + fileName);
uploadTask = storageRef.put(file);
};
html
<input type="file" onchange="getFileName(this)" accept=".png, .jpg, .bmp, .JPEG, .JPG, .svg, .tiff, .gif">
我做错了什么?
问题是由于代码中使用 file
变量的方式造成的。该变量被分配了 FileList
- 这就是您要传递给 put
的内容。如果你给它分配 File
:
就不会那么混乱了
function getFileName(fileInput) {
file = fileInput.files[0];
fileName = file.name;
storageRef = firebase.storage().ref(storageFolder + fileName);
uploadTask = storageRef.put(file);
};
我在尝试上传到 firebase 时在控制台中遇到下一个错误:
Uncaught FirebaseError: Firebase Storage: Invalid argument in `put` at index 0: Expected Blob or File.
js:
var file, fileName, fileRef, storageImagesRef, storageRef, uploadTask;
var storageFolder = '/pictures/';
function getFileName(fileInput) {
file = fileInput.files;
fileName = file[0].name;
storageRef = firebase.storage().ref(storageFolder + fileName);
uploadTask = storageRef.put(file);
};
html
<input type="file" onchange="getFileName(this)" accept=".png, .jpg, .bmp, .JPEG, .JPG, .svg, .tiff, .gif">
我做错了什么?
问题是由于代码中使用 file
变量的方式造成的。该变量被分配了 FileList
- 这就是您要传递给 put
的内容。如果你给它分配 File
:
function getFileName(fileInput) {
file = fileInput.files[0];
fileName = file.name;
storageRef = firebase.storage().ref(storageFolder + fileName);
uploadTask = storageRef.put(file);
};