Skip to content

Fail

Muat naik, senarai dan dapatkan semula fail di IPFS.

Files page showing uploaded and pinned files

Muat Naik Fail

POST /upload/new

Muat naik sebarang fail ke IPFS. Fail disemat dan CID kekal dikembalikan.

Badan permintaan

ParameterJenisDiperlukanPenerangan
contentstring | objectYaObjek/tatasusunan JSON, atau data fail berkod base64 (imej, PDF, HTML, atau sebarang jenis fail). Untuk import CAR, fail CAR berkod base64.
carbooleanTidakTetapkan kepada true untuk mengimport fail CAR (import DAG). Mengekalkan CID yang tepat.
descriptionstringTidakPenerangan ringkas kandungan yang dimuat naik.
metadataobjectTidakPasangan kunci-nilai tersuai untuk dilampirkan pada fail. Maks 10 kunci. Kunci mestilah alfanumerik atau garis bawah, 1-64 aksara. Nilai mestilah rentetan, maks 256 aksara setiap satu. Jumlah saiz metadata tidak boleh melebihi 4 KB.

Contoh permintaan

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"
    }
  }'

Memuat naik imej (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"
  })
});

Respons 200 OK

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

CIDv1 secara lalai

Muat naik baharu mengembalikan CIDv1 moden (bafk… untuk kandungan blok tunggal yang kecil, bafy… untuk fail dan direktori yang lebih besar) mengikut profil IPIP-0499 unixfs-v1-2025 — cebisan 1 MiB dengan raw leaves. CID Qm… lama daripada muat naik terdahulu kekal boleh diselesaikan sepenuhnya dan terus berfungsi dengan setiap endpoint.

Alternatif papan pemuka

Halaman /upload papan pemuka menerima drag-and-drop untuk fail, folder (dibungkus menjadi direktori UnixFS dalam pelayar), dan arkib .car — semuanya melalui endpoint yang sama ini. Lihat Import CAR untuk butiran laluan CAR.

Namakan Semula Fail

PUT /files/:cid/name

Kemas kini nama paparan yang ditunjukkan pada fail. CID tidak berubah — ia adalah hash kandungan — hanya label yang anda lihat dalam senarai fail anda yang berubah.

Badan permintaan

ParameterJenisDiperlukanPenerangan
namestringYaNama paparan baharu. 1-200 aksara. Tidak boleh mengandungi pemisah laluan (/, \). Nama yang hanya mengandungi ruang kosong ditolak.

Contoh permintaan

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" }'

Respons 200 OK

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

Papan Pemuka

Halaman Fail mempunyai entri Rename dalam menu tindakan setiap baris fail (butang tiga titik). Kesan yang sama, tanpa perlu kod.

Senaraikan Fail

GET /upload/list

Dapatkan senarai fail IPFS anda yang dimuat naik dalam julat masa.

Parameter pertanyaan

ParameterJenisDiperlukanPenerangan
fromnumberYaPermulaan julat masa, cap masa Unix dalam milisaat.
tonumberYaAkhir julat masa, cap masa Unix dalam milisaat.

Contoh permintaan

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

Respons 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"
    }
  }
]

Dapatkan Fail

GET /file/:cid

Dapatkan metadata untuk fail yang dimuat naik tertentu mengikut CID-nya.

Parameter laluan

ParameterJenisDiperlukanPenerangan
cidstringYaPengecam kandungan IPFS bagi fail tersebut.

Contoh permintaan

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

Respons 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"
  }
}