我正在尝试从 Firestore 数据库中获取数据,但收到此错误消息:
从源“http://localhost:3000”获取“(链接到我的 myfirebaseaccount,出于隐私原因删除)”的访问权限已被 CORS 政策阻止:没有“访问控制允许源”请求的资源上存在标头。如果不透明响应满足您的需求,请将请求的模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。
import { useState, useEffect } from 'react'
import { projectStorage, projectFirestore, timestamp } from '../firebase'
const useStorage = (file) => {
const [progress, setProgress] = useState(0)
const [error, setError] = useState(null)
const [url, setUrl] = useState(null)
useEffect(() => {
const storageRef = projectStorage.ref(file.name)
const collectionRef = projectFirestore.collection("images");
storageRef.put(file).on("state_changed", (snap) => {
let percentage = (snap.bytesTransferred / snap.totalBytes) * 100;
setProgress(percentage);
},(err) => {
setError(err);
}, async() => {
const url = await storageRef.getDownloadURL();
const createdAt = timestamp()
await collectionRef.add({ url, createdAt })
setUrl(url);
})
}, [file])
return { progress, url, error }
}
export default useStorage;