فایل و ذخیرهسازی
آپلود و دریافت خصوصی با نشست کاربر.
فایل خصوصی
Starter یک فضای خصوصی آماده دارد؛ ساخت bucket لازم نیست. برای بارگذاری، کاربر برنامه باید وارد شده باشد. فایل حداکثر ۱ MiB و مجموع فایلها ۱۰ MiB است. فایل با شناسهٔ UUID ذخیره میشود و نام آن مسیر دسترسی محسوب نمیشود.
بارگذاری
نمونهها از cloud و متغیرهای راهنمای ورود استفاده میکنند.
const file = new File(["Hello Sarovi"], "hello.txt", { type: "text/plain" });
const bytes = new Uint8Array(await file.arrayBuffer());
let binary = "";
for (const byte of bytes) binary += String.fromCharCode(byte);
const saved = await cloud("/files", "POST", {
name: file.name, content_base64: btoa(binary)
});
const response = await fetch(`${CLOUD_URL}/files/${saved.id}`, {
headers: { apikey: APP_KEY, Authorization: `Bearer ${sessionToken}` }
});
if (!response.ok) throw new Error("Download failed");
const download = await response.blob();
await cloud(`/files/${saved.id}`, "DELETE");import base64
saved = cloud("/files", "POST", {
"name": "hello.txt", "content_base64": base64.b64encode(b"Hello Sarovi").decode()
})
response = requests.get(f"{CLOUD_URL}/files/{saved['id']}", headers={
"apikey": APP_KEY, "Authorization": f"Bearer {session_token}"
}, timeout=30)
response.raise_for_status()
with open("downloaded.txt", "wb") as output:
output.write(response.content)
cloud(f"/files/{saved['id']}", "DELETE")فهرست و دسترسی
GET /files فقط فایلهای کاربر جاری را برمیگرداند. GET /files/{id} بایتهای فایل را بهصورت attachment تحویل میدهد؛ پاسخ دانلود JSON نیست. DELETE همان مسیر فایل را حذف میکند. کلید عمومی بهتنهایی فایل خصوصی را باز نمیکند و شناسهٔ کاربر دیگری 404 میدهد. فایلها از دامنهٔ کنسول بهصورت HTML اجرا نمیشوند.
نمای مدیر
GET /v1/cloud/{id}/storage فهرست فرادادهٔ همهٔ فایلهای ابر را نشان میدهد. برای نمایش رسانهٔ عمومی از فایلهای وبسایت استفاده کنید؛ فایلهای خصوصی Starter لینک عمومی دائمی ندارند. قبل از حذف ابر، کاربران یا سرور برنامه فایلهای لازم را با نشست مجاز دریافت کنند. API ساخت bucket فقط برای زیرساخت اختصاصی است.
قرارداد API 1.6.0 · تاریخچهٔ تغییرات