我正在使用以下內容:
const [allImages, setImages] = useState([]);
const getFromFirebase = () => {
//1.
let storageRef = storage.ref(user1);
//2.
storageRef.listAll().then(function (res) {
//3.
res.items.forEach((imageRef) => {
console.log(imageRef);
imageRef.getDownloadURL().then((url) => {
//4.
setImages((allImages) => [...allImages, url]);
});
});
})
.catch(function (error) {
console.log(error);
});
console.log(allImages);
};
然后通過以下方式顯示:
<button onClick={getFromFirebase}>Show</button><br/><br/>
<div id="photos">
{allImages.map((image) => {
return (
<div key={image} className="image">
<img className="uploadedfile" src={image} alt="" />
<button className="buttondelete" onClick={() => deleteFromFirebase(image)}>
Delete
</button>
</div>
我意識到這是回傳影像 URL 的 getDownloadURL,但我如何還回傳影像檔案名?
uj5u.com熱心網友回復:
要獲取檔案名,您可以使用getMetadata:
imageRef.getMetadata().then(metadata => {
// do something with metadata.name
});
uj5u.com熱心網友回復:
您可以使用“getMetaData”方法。
import { getStorage, ref, getMetadata } from "firebase/storage";
// Create a reference to the file whose metadata we want to retrieve
const storage = getStorage();
const forestRef = ref(storage, 'images/forest.jpg');
// Get metadata properties
getMetadata(forestRef)
.then((metadata) => {
// Metadata now contains the metadata for 'images/forest.jpg'
})
.catch((error) => {
// Uh-oh, an error occurred!
});
您可以參考Firebase Docs - File Metadata以獲得更好的理解
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/311261.html
標籤:javascript 反应 火力基地 火力存储
