HomeProjectsBlogSnippetsVideos
    ← Back to Cloud Storage

    Google Cloud Storage

    5 snippets in Cloud Storage - Google Cloud Storage

    Configure Google Cloud Storage

    Install required packages and Set up a .env file

    1npm:
    2npm install express @google-cloud/storage dotenv
    3
    4.env
    5GOOGLE_CLOUD_PROJECT_ID=your_project_id
    6GOOGLE_CLOUD_KEYFILE=./path/to/service-account-key.json
    7GOOGLE_CLOUD_BUCKET=your_bucket_name
    8PORT=3000
    9
    10// Configure Google Cloud Storage
    11const storage = new Storage({
    12  projectId: process.env.GOOGLE_CLOUD_PROJECT_ID,
    13  keyFilename: process.env.GOOGLE_CLOUD_KEYFILE,
    14});
    15const bucket = storage.bucket(process.env.GOOGLE_CLOUD_BUCKET);
    javascript

    Add Media File

    Add (Upload) Media File

    1const addMedia = async (filePath, fileName) => {
    2  try {
    3    const file = bucket.file(fileName);
    4    await bucket.upload(filePath, {
    5      destination: fileName,
    6      metadata: { cacheControl: "public, max-age=31536000" }, // Optional: caching
    7    });
    8    const [metadata] = await file.getMetadata();
    9    const publicUrl = `https://storage.googleapis.com/${bucket.name}/${fileName}`;
    10    return { success: true, data: { ...metadata, publicUrl } };
    11  } catch (error) {
    12    return { success: false, error: error.message };
    13  }
    14};
    javascript

    Delete Media File

    Delete Media File

    1const deleteMedia = async (fileName) => {
    2  try {
    3    const file = bucket.file(fileName);
    4    await file.delete();
    5    return { success: true, message: "Media deleted" };
    6  } catch (error) {
    7    return { success: false, error: error.message };
    8  }
    9};
    javascript

    Update Media File

    Update Media File

    1const updateMedia = async (oldFileName, newFileName) => {
    2  try {
    3    const oldFile = bucket.file(oldFileName);
    4    const newFile = bucket.file(newFileName);
    5    await oldFile.move(newFile);
    6    const [metadata] = await newFile.getMetadata();
    7    const publicUrl = `https://storage.googleapis.com/${bucket.name}/${newFileName}`;
    8    return { success: true, data: { ...metadata, publicUrl } };
    9  } catch (error) {
    10    return { success: false, error: error.message };
    11  }
    12};
    javascript

    Read Media File Details

    Read (Get) Media File Details

    1const readMedia = async (fileName) => {
    2  try {
    3    const file = bucket.file(fileName);
    4    const [metadata] = await file.getMetadata();
    5    const publicUrl = `https://storage.googleapis.com/${bucket.name}/${fileName}`;
    6    return { success: true, data: { ...metadata, publicUrl } };
    7  } catch (error) {
    8    return { success: false, error: error.message };
    9  }
    10};
    javascript