Skip to content

Instantly share code, notes, and snippets.

@jscalderon65
Created April 14, 2021 20:23
Show Gist options
  • Save jscalderon65/b2aa5c9612316cad4ecbea5f400f799a to your computer and use it in GitHub Desktop.
Save jscalderon65/b2aa5c9612316cad4ecbea5f400f799a to your computer and use it in GitHub Desktop.
Operaciones de carga, edición y eliminación de archivos multimedia en Google Firebase cloud storage.
const deleteImage = async (firebase, ref, title) => {
const storage = firebase.storage();
const desertRef = storage.ref(ref).child(title);
try {
await desertRef.delete();
console.log(`Se ha borrado ${ref}/${title}`);
} catch (e) {
console.log(e);
return e;
}
};
const uploadImage = async (firebase, ref, file ) => {
const storage = firebase.storage();
const date = JSON.stringify(new Date());
const name = `${file.name}+${date}`;
try {
setLoading(true);
const newRef = storage.ref(ref).child(name);
await newRef.put(file);
let urlImagen = await newRef.getDownloadURL();
const ImageInfo = {
url: urlImagen,
title: name,
direction: `${ref}/${file.name}`,
};
console.log(ImageInfo);
return { urlImagen, ImageName: name };
} catch (error) {
console.log(error);
}
};
const EditUploadImage = async (
file,
ref,
firebase,
prevImageInfo,
) => {
const storage = firebase.storage();
const date = JSON.stringify(new Date());
const name = `${file.name}+${date}`;
const desertRef = storage.ref(prevImageInfo.ref).child(prevImageInfo.title);
try {
const newRef = storage.ref(ref).child(name);
await newRef.put(file);
let urlImagen = await newRef.getDownloadURL();
const ImageInfo = {
url: urlImagen,
title: name,
direction: `${ref}/${file.name}`,
};
console.log(ImageInfo);
editImageCourse(CourseId, { img: urlImagen, imgName: name });
await desertRef.delete();
return { urlImagen, ImageName: name };
} catch (e) {
console.log(e);
return e
}
};
export { uploadImage, deleteImage, EditUploadImage };
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment