ऑराबेस लोगो
aurabaseडॉक्स
डॉक्स›गाइड›Store and serve files (SDK)

जावास्क्रिप्ट एसडीके के साथ फाइलों को स्टोर और सर्व करें

aura.storage का रोजमर्रा का प्रवाह, रनिंग स्टैक के विरुद्ध देखे गए एक्सेस नियमों के साथ।

8 मि॰ पढ़ें·स्तर मध्यवर्ती·12 अक्टू॰ 2026 पर संशोधित
यह अंग्रेजी पाठ फ़्रेंच मूल से स्वचालित रूप से उत्पन्न हुआ था और अभी तक इसकी समीक्षा नहीं की गई है।
यह पृष्ठ स्वचालित रूप से अनुवादित किया गया था. अंग्रेजी संस्करण प्रामाणिक है.
#
बाल्टी

1. बाल्टियाँ

एक बकेट फ़ाइलों को समूहित करता है और निर्णय लेता है कि वे सार्वजनिक हैं या नहीं। बकेट बनाने और हटाने के लिए service_role कुंजी की आवश्यकता होती है। उन्हें सूचीबद्ध करने के लिए एक साइन-इन उपयोगकर्ता या service_role कुंजी की आवश्यकता होती है; अकेले सार्वजनिक कुंजी को 403 मिलता है।

server/buckets.tstypescript
await admin.storage.createBucket('avatars', { public: true })   // कोई भी फ़ाइलें पढ़ सकता है
await admin.storage.createBucket('invoices', { public: false })  // केवल उनका स्वामी ही ऐसा कर सकता है
const { data: buckets } = await admin.storage.listBuckets()

एक बकेट fileSizeLimit (बाइट्स में) और allowedMimeTypes को भी स्वीकार करता है। एक अपलोड जो बहुत बड़ा है वह 413 लौटाता है, और एक प्रकार जिसकी अनुमति नहीं है वह 400 लौटाता है।

#
फ़ाइलें

2. अपलोड करें, डाउनलोड करें, सूचीबद्ध करें, हटाएं

files.tstypescript
const bucket = aura.storage.from('invoices')

// अपलोड करें: एक ब्लॉब, एक फ़ाइल या एक ऐरेबफ़र
const { data, error } = await bucket.upload(`${user.id}/2026-10.pdf`, file, {
  contentType: 'application/pdf',
})
// → { कुंजी, बाल्टी, यूआरएल, आकार, सामग्री_प्रकार, ईटैग }

// किसी मौजूदा फ़ाइल को बदलें
await bucket.upload(`${user.id}/2026-10.pdf`, newFile, { upsert: true })

// एक फ़ोल्डर सूचीबद्ध करें, डाउनलोड करें, हटाएं
const { data: files } = await bucket.list(user.id)
const { data: blob } = await bucket.download(`${user.id}/2026-10.pdf`)
await bucket.remove([`${user.id}/2026-10.pdf`])

क्या उम्मीद करें:

  • किसी मौजूदा पथ को अपलोड करने पर 409 मिलता है जब तक कि आप upsert: true पास नहीं कर लेते।
  • अपलोड करने के लिए एक साइन-इन उपयोगकर्ता या service_role कुंजी की आवश्यकता होती है। अकेले सार्वजनिक कुंजी को 403 मिलता है, यहां तक ​​कि सार्वजनिक बाल्टी के लिए भी।
  • .. के साथ एक पथ को के साथ 400 से अस्वीकार कर दिया गया है।
  • पथ एक बकेट के अंदर साझा किए जाते हैं। यदि किसी अन्य उपयोगकर्ता के पास पहले से ही पथ है, तो आपको 409 मिलता है। प्रत्येक उपयोगकर्ता की फ़ाइलों को उनके स्वयं के फ़ोल्डर के अंतर्गत रखें, जैसे ${user.id}/…।
#
शेयर करना

3. एक फ़ाइल साझा करें

share.tstypescript
// सार्वजनिक बकेट में एक फ़ाइल: एक स्थायी यूआरएल, बिना किसी अनुरोध के बनाया गया
const { data } = aura.storage.from('avatars').getPublicUrl('ada.png')
// → {publicUrl: 'https://my-app.aurabase.cloud/v1/storage/evatars/ada.png' }

// एक निजी फ़ाइल: एक अस्थायी लिंक
const { data: signed } = await aura.storage.from('invoices').createSignedUrl(`${user.id}/2026-10.pdf`, 60)
// → {यूआरएल, एक्सपायर_इन: 60 }

दोनों लिंक बिना किसी कुंजी के लाए गए और फ़ाइल लौटा दी गई। एक हस्ताक्षरित लिंक expires_in सेकंड के बाद काम करना बंद कर देता है। किसी ब्राउज़र को कुंजी के बिना अपलोड करने देने के लिए, सर्वर createSignedUploadUrl(path) (एक service_role कॉल) करता है।

#
पहुँच

4. कौन क्या कर सकता है

कार्रवाईसार्वजनिक कुंजीसाइन-इन किया हुआ उपयोगकर्ताservice_role
सार्वजनिक बकेट में फ़ाइल पढ़ेंहाँहाँहाँ
पढ़ें, किसी फ़ाइल को निजी बकेट में सूचीबद्ध करेंनहींकेवल उसका स्वामीहाँ
अपलोड करेंनहींहाँहाँ
किसी फ़ाइल को बदलें या हटाएँनहींकेवल उसका स्वामीहाँ
बाल्टियाँ सूचीबद्ध करेंनहींहाँहाँ
बकेट बनाएँ, हटाएँनहींनहींहाँ

स्वामी वह उपयोगकर्ता है जिसने फ़ाइल अपलोड की है. वास्तविक रूप से, कोई दूसरा उपयोगकर्ता पहले उपयोगकर्ता की फ़ाइल को निजी बकेट में सूचीबद्ध, डाउनलोड या हटा नहीं सकता है, और उसे प्रतिस्थापित भी नहीं कर सकता है।

#
सर्वर

5. किसी सर्वर से ले जाएँ और कॉपी करें

server/organise.tstypescript
await admin.storage.copy('invoices', 'a/hello.txt', 'a/copy.txt')
await admin.storage.move('invoices', 'a/copy.txt', 'a/moved.txt')
const { data: meta } = await admin.storage.getMetadata('invoices', 'a/hello.txt')

छवि का आकार बदलना भंडारण संदर्भ में वर्णित है।