如何使用 ReactJS 获取 firebase 存储中文件的元数据?
以下方法介绍了如何使用 react 获取 firebase 存储中文件的元数据。元数据是关于文件的基本信息。我们使用了 firebase 模块来实现这一点。
创建 React 应用程序并安装模块:
第 1 步:使用以下命令创建一个 React 应用程序:
npx create-react-app myapp
第 2 步:创建项目文件夹(即 myapp)后,使用以下命令移动到该文件夹:
cd myapp
项目结构:我们的项目结构将如下所示。
第 3 步:创建 ReactJS 应用程序后,使用以下命令安装 firebase 模块:
npm install firebase@8.3.1 --save
第 4 步:转到您的 firebase 仪表板并创建一个新项目并复制您的凭据。
const firebaseConfig = {
apiKey: "your api key",
authDomain: "your credentials",
projectId: "your credentials",
storageBucket: "your credentials",
messagingSenderId: "your credentials",
appId: "your credentials"
};
第 5 步:通过使用以下代码创建firebase.js文件,将 Firebase 初始化到您的项目中。
firebase.js
import firebase from 'firebase';
const firebaseConfig = {
// Your Credentials
};
firebase.initializeApp(firebaseConfig);
var storage = firebase.storage();
export default storage;
App.js
import { useState } from 'react';
import storage from './firebase';
function App() {
const [image, setImage] = useState('');
const [show, setShow] = useState(false);
const [value, setValue] = useState('');
const upload = () => {
if (image == null)
return;
// Sending File to Firebase Storage
storage.ref(`/images/${image.name}`).put(image)
.on("state_changed", alert("success"), alert, () => {
// Getting Meta Data Of File
storage.ref("images").child(image.name).getMetadata()
.then((data) => {
setValue(data);
setShow(true);
})
});
}
return (
{ setImage(e.target.files[0]) }} />
{
show ?
Name : {value.name}
Size : {value.size}
Path : {value.fullpath}
Time : {value.timeCreated}
:
}
);
}
export default App;
第 6 步:现在转到 firebase 项目中的存储部分并更新您的安全规则。这里我们处于测试模式,所以我们允许读取和写入为真。更新如下所示的代码后,单击发布。
第 7 步:现在实现元数据部分。在这里,我们将使用一种名为getMetadata的方法来帮助我们获取 Firebase 存储中文件的元数据。
应用程序.js
import { useState } from 'react';
import storage from './firebase';
function App() {
const [image, setImage] = useState('');
const [show, setShow] = useState(false);
const [value, setValue] = useState('');
const upload = () => {
if (image == null)
return;
// Sending File to Firebase Storage
storage.ref(`/images/${image.name}`).put(image)
.on("state_changed", alert("success"), alert, () => {
// Getting Meta Data Of File
storage.ref("images").child(image.name).getMetadata()
.then((data) => {
setValue(data);
setShow(true);
})
});
}
return (
{ setImage(e.target.files[0]) }} />
{
show ?
Name : {value.name}
Size : {value.size}
Path : {value.fullpath}
Time : {value.timeCreated}
:
}
);
}
export default App;
运行应用程序的步骤:从项目的根目录使用以下命令运行应用程序:
npm start
输出:现在打开浏览器并转到http://localhost:3000/ ,您将看到以下输出: