这是我当前的代码:
async newCollectionRequest({ commit }, data) {
try {
console.log(data);
const location = `/pending-images/${data.collectionName}/${data.image.name}`;
console.log(location);
const storage = getStorage();
const storageRef = ref(storage, location);
// 'file' comes from the Blob or File API
await uploadBytes(storageRef, data.image);
console.log('Uploaded a blob or file!');
return true;
} catch (error) {
throw error.message;
}
},
它似乎有效,但仅限于我在尝试上传图像时收到 403 响应。我不确定为什么我首先会收到 403,因为我已经在应用程序上实现了身份验证,并且在尝试执行此操作时我已经确认用户已登录。这是我的 firebase 规则:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
我不确定为什么会导致 403 错误
您发布了一个
firestone.rules
文件。您正在使用 Firebase 存储。您必须创建一个 storage.rules
文件并添加如下内容:
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if request.auth != null;
}
}
}
这将为任何经过身份验证的用户授予完全读/写访问权限。您可以在此处阅读有关存储规则的更多信息。