Skip to content

ফাইলস

IPFS-এ ফাইল আপলোড, তালিকা এবং পুনরুদ্ধার করুন। শুরু করার আগে API key সেটআপের জন্য authentication দেখুন, এবং কোনো অনুরোধ ব্যর্থ হলে errors পৃষ্ঠায় HTTP স্ট্যাটাস কোডের অর্থ দেখুন।

Files page showing uploaded and pinned files

IPFS-এ ফাইল আপলোড করুন: ৩ ধাপ

  1. আপনার ফাইল base64 হিসেবে এনকোড করুন (ইমেজ/PDF-এর জন্য) অথবা সরাসরি একটি JSON অবজেক্ট/অ্যারে পাঠান।
  2. আপনার API key সহ X-Api-Key হেডারে /upload/new-এ POST করুন।
  3. ফেরত পাওয়া cid সংরক্ষণ করুন — এটি IPFS-এ আপনার ফাইলকে স্থায়ীভাবে শনাক্ত করে।

POST /upload/new

IPFS-এ যেকোনো ফাইল আপলোড করুন। ফাইলটি পিন করা হয় এবং একটি স্থায়ী CID ফেরত দেওয়া হয়।

অনুরোধের বডি

প্যারামিটারধরনপ্রয়োজনীয়বর্ণনা
contentstring | objectহ্যাঁJSON অবজেক্ট/অ্যারে, বা base64-এনকোডেড ফাইল ডেটা (ইমেজ, PDF, HTML, বা যেকোনো ফাইলের ধরন)। CAR ইমপোর্টের জন্য, base64-এনকোডেড CAR ফাইল।
carbooleanনাএকটি CAR ফাইল (DAG ইমপোর্ট) ইমপোর্ট করতে true সেট করুন। ঠিক একই CID সংরক্ষণ করে।
descriptionstringনাআপলোড করা কন্টেন্টের সংক্ষিপ্ত বর্ণনা।
metadataobjectনাফাইলে সংযুক্ত করার জন্য কাস্টম কী-মানের জোড়া। সর্বাধিক ১০টি কী। কী অবশ্যই আলফানিউমেরিক বা আন্ডারস্কোর হতে হবে, ১-৬৪ অক্ষর। মান অবশ্যই স্ট্রিং হতে হবে, প্রতিটি সর্বাধিক ২৫৬ অক্ষর। মোট metadata আকার ৪ KB অতিক্রম করতে পারবে না।

উদাহরণ অনুরোধ

bash
curl -X POST https://api.ipfs.ninja/upload/new \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "content": { "name": "example", "value": 42 },
    "description": "Test upload",
    "metadata": {
      "project": "my-app",
      "environment": "production"
    }
  }'

ইমেজ আপলোড (base64)

javascript
const fs = require("fs");
const image = fs.readFileSync("photo.png").toString("base64");

const response = await fetch("https://api.ipfs.ninja/upload/new", {
  method: "POST",
  headers: {
    "X-Api-Key": "bws_your_api_key_here",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    content: image,
    description: "Profile photo"
  })
});

প্রতিক্রিয়া 200 OK

json
{
  "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
  "sizeMB": 0.042,
  "uris": {
    "ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
    "url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
  }
}

ডিফল্টরূপে CIDv1

নতুন আপলোড আধুনিক CIDv1 ফেরত দেয় (ছোট single-block কন্টেন্টের জন্য bafk…, বড় ফাইল ও ডিরেক্টরির জন্য bafy…) — IPIP-0499 unixfs-v1-2025 প্রোফাইল অনুযায়ী, raw leaves সহ 1 MiB চাংক। আগের আপলোডের লিগ্যাসি Qm… CID সম্পূর্ণভাবে resolve করা যায় এবং প্রতিটি endpoint-এ কাজ করতে থাকে।

ড্যাশবোর্ড বিকল্প

ড্যাশবোর্ডের /upload পেজ ফাইল, ফোল্ডার (ব্রাউজারে একটি UnixFS ডিরেক্টরিতে প্যাক করা), এবং .car আর্কাইভের জন্য drag-and-drop গ্রহণ করে — সবগুলি এই একই endpoint-এর মাধ্যমে রুট হয়। CAR পাথের বিস্তারিত জানতে CAR Import দেখুন।

সমর্থিত ফাইলের ধরন

API সরাসরি JSON অবজেক্ট এবং অ্যারে গ্রহণ করে, পাশাপাশি base64-এনকোডেড বাইনারি ফাইলও: ইমেজ (JPEG, PNG, GIF, WebP), PDF, HTML, এবং যেকোনো অন্য ফাইলের ধরন। সার্ভার পেলোড থেকে স্বয়ংক্রিয়ভাবে কন্টেন্ট টাইপ শনাক্ত করে।

রেসপন্স ফিল্ড

রেসপন্সের cid হলো স্থায়ী IPFS কন্টেন্ট আইডেন্টিফায়ার। sizeMB হলো সংরক্ষিত আকার মেগাবাইটে। uris অবজেক্টে থাকে নেটিভ ipfs:// URI এবং ব্রাউজার অ্যাক্সেসের জন্য একটি HTTPS gateway URL — দুটোই একই কন্টেন্টে পৌঁছায়।

একটি ফাইলের নাম পরিবর্তন

PUT /files/:cid/name

একটি ফাইলে প্রদর্শিত নাম আপডেট করুন। CID পরিবর্তন হয় না — এটি কন্টেন্টের একটি হ্যাশ — শুধুমাত্র আপনার ফাইল তালিকায় দেখা লেবেলটি পরিবর্তিত হয়।

অনুরোধের বডি

প্যারামিটারধরনপ্রয়োজনীয়বর্ণনা
namestringহ্যাঁনতুন প্রদর্শন নাম। ১-২০০ অক্ষর। পাথ সেপারেটর (/, \) থাকতে পারবে না। শুধুমাত্র হোয়াইটস্পেস থাকা নাম প্রত্যাখ্যাত হয়।

উদাহরণ অনুরোধ

bash
curl -X PUT https://api.ipfs.ninja/files/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi/name \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Season 1 promo art" }'

প্রতিক্রিয়া 200 OK

json
{
  "success": true,
  "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
  "name": "Season 1 promo art"
}

ড্যাশবোর্ড

Files পেজে প্রতিটি ফাইলের সারির অ্যাকশন মেনুতে (থ্রি-ডট বাটন) একটি Rename এন্ট্রি রয়েছে। একই ফলাফল, কোনো কোড লাগে না।

ফাইল তালিকা

GET /upload/list

একটি সময়সীমার মধ্যে আপনার আপলোড করা IPFS ফাইলের তালিকা পুনরুদ্ধার করুন।

কোয়েরি প্যারামিটার

প্যারামিটারধরনপ্রয়োজনীয়বর্ণনা
fromnumberহ্যাঁসময়সীমার শুরু, Unix টাইমস্ট্যাম্প milliseconds-এ।
tonumberহ্যাঁসময়সীমার শেষ, Unix টাইমস্ট্যাম্প milliseconds-এ।

উদাহরণ অনুরোধ

bash
curl "https://api.ipfs.ninja/upload/list?from=1704067200000&to=1735689600000" \
  -H "X-Api-Key: bws_your_api_key_here"

প্রতিক্রিয়া 200 OK

json
[
  {
    "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
    "fileName": "Test upload",
    "fileType": "json",
    "sizeMB": 0.001,
    "createdAt": 1711036800000,
    "metadata": {
      "project": "my-app",
      "environment": "production"
    },
    "uris": {
      "ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
      "url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
    }
  }
]

ফাইল পান

GET /file/:cid

CID দ্বারা একটি নির্দিষ্ট আপলোড করা ফাইলের metadata পুনরুদ্ধার করুন।

Path প্যারামিটার

প্যারামিটারধরনপ্রয়োজনীয়বর্ণনা
cidstringহ্যাঁফাইলের IPFS কন্টেন্ট আইডেন্টিফায়ার।

উদাহরণ অনুরোধ

bash
curl https://api.ipfs.ninja/file/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi \
  -H "X-Api-Key: bws_your_api_key_here"

প্রতিক্রিয়া 200 OK

json
{
  "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
  "fileName": "Test upload",
  "fileType": "json",
  "sizeMB": 0.001,
  "createdAt": 1711036800000,
  "uris": {
    "ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
    "url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
  }
}