Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
September 27, 2022 03:18 pm GMT

Upload media to Supabase from remote URL with nodejs

Introduction

Recently I had to upload images in bulk to Supabase but I was kind of rusty on my nodejs and lost some time so I thought I would share the simple result to spare time for others.

Supabase setup

The first step is to create your bucket on supabase, make it public or make sure to create policies to have the right access.

Image description

You can also get your service_role API key to bypass any RLS policies at this URL (do not share or display in public):
https://app.supabase.com/project/{YOUR_PROJECT_ID}/settings/api

Script setup

To init your project we are going to need npm or yarn and run those two commands

npm initnpm install @supabase/supabase-js node-fetch@2

It will create a package.json and install the necessary dependencies. Now you can create your script.js file and run

node script.js

If you wish to use typescript you can also do

npx ts-node script.ts

Script

import fetch from "node-fetch"import { createClient } from '@supabase/supabase-js'const script = async () => {  const options = {    schema: 'public',    autoRefreshToken: true,    persistSession: true,    detectSessionInUrl: false,  }   const supabase = createClient(    `https://${process.env.SUPABASE_PROJECT_ID}.supabase.co`,    process.env.SUPABASE_API_KEY || '',    options,  )  const url = "https://www.grapheine.com/wp-content/uploads/2015/09/nouveau-logo-google-2015.jpg"  const blob = await fetch(url).then((r) => r.blob())    await supabase.storage.from('my-new-bucket').upload("my-name" + '.jpg', blob)    const { publicURL } = supabase.storage.from('covers').getPublicUrl("my-name" + '.jpg')    //To save it in your DB    await supabase.from('myTable').update({ logo_url: publicURL }).eq('id', the_thing_id)}script()

That's it, now you can run the script and loop it for bulk upload.

Thanks for reading! If you found this article useful, want more tips and follow my journey to create my own startup studio follow me on Twitter


Original Link: https://dev.to/antoine_m/upload-media-to-supabase-from-remote-url-with-nodejs-5h45

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To