尝试将图像上传到Firebase存储时出现以下错误:
v {code_: "storage/invalid-argument", message_: "Firebase Storage: Invalid argument in `put` at index 0: Expected Blob or File.", serverResponse_: null, name_: "FirebaseError"}
name: (...)
code: (...)
message: (...)
serverResponse: (...)
code_: "storage/invalid-argument"
message_: "Firebase Storage: Invalid argument in `put` at index 0: Expected Blob or File."
serverResponse_: null
name_: "FirebaseError"
__proto__: Object
这是我的代码
<div>
<h1>Upload file</h1>
<label class="upload-group">
<input type="file" onchange="handleFileSelect(this)" id="file">
</label>
<button type="button" id="uploadButton" onclick="uploadFile()">Submit</button>
</div>
function handleFileSelect() {
$(".upload-group").show();
return document.getElementById('file').files[0];
};
function uploadFile() {
var filename = handleFileSelect().name;
var storageRef = firebase.storage().ref('/dogImages/' + filename);
var uploadTask = storageRef.put(selectedFile);
我已经尝试了好几个小时才能将图像上传到Firebase存储中,但是没有成功。我推测问题可能出在我的put()函数上。
答案 0 :(得分:0)
该错误与安全规则无关。您正在将无效的参数传递给put()
。仔细阅读消息:
Firebase存储:
put
中索引0处的参数无效:预期的Blob或文件。”
您传递了一个字符串,但是API期望使用Blob或File对象。您可能需要查看documentation for uploading files,以获取有关如何正确执行此操作的示例。