Skip to content

Filer

Last opp, list og hent filer på IPFS. Se autentisering for oppsett av API-nøkkel, og feil for HTTP-statuskoder.

Filside som viser opplastede og festede filer

Last opp en fil til IPFS: 3 trinn

  1. Kod filen din som base64 (for bilder/PDF-er) eller send et JSON-objekt direkte.
  2. Send en POST til /upload/new med API-nøkkelen din i X-Api-Key-headeren.
  3. Lagre den returnerte cid — den identifiserer filen din permanent på IPFS.

POST /upload/new

Last opp hvilken som helst fil til IPFS. Filen festes og et permanent CID returneres.

Forespørselskropp

ParameterTypePåkrevdBeskrivelse
contentstring | objectJaJSON-objekt/array, eller base64-kodet fildata (bilder, PDF, HTML eller hvilken som helst filtype). For CAR-importer, base64-kodet CAR-fil.
carbooleanNeiSett til true for å importere en CAR-fil (DAG-import). Bevarer nøyaktige CID-er.
descriptionstringNeiKort beskrivelse av det opplastede innholdet.
metadataobjectNeiEgendefinerte nøkkel-verdi-par å legge ved filen. Maks 10 nøkler. Nøkler må være alfanumeriske eller understrek, 1-64 tegn. Verdier må være strenger, maks 256 tegn hver. Total metadatastørrelse må ikke overstige 4 KB.

Eksempelforespørsel

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

Laste opp et bilde (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"
  })
});

Svar 200 OK

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

CIDv1 som standard

Nye opplastinger returnerer moderne CIDv1 (bafk… for lite innhold i én blokk, bafy… for større filer og kataloger) i tråd med IPIP-0499 unixfs-v1-2025-profilen — 1 MiB-biter med rå blader. Eldre Qm…-CID-er fra tidligere opplastinger forblir fullt oppløselige og fortsetter å fungere med alle endepunkter.

Dashbord-alternativ

Dashbordets /upload-side godtar dra-og-slipp for filer, mapper (pakket inn i en UnixFS-katalog i nettleseren) og .car-arkiver — alt rutes gjennom det samme endepunktet. Se CAR Import for detaljer om CAR-stien.

Filtyper som støttes

API-et godtar JSON-objekter og -arrayer direkte, i tillegg til base64-kodede binærfiler: bilder (JPEG, PNG, GIF, WebP), PDF-er, HTML og alle andre filtyper. Serveren gjenkjenner innholdstype automatisk fra nyttelasten.

Svarfelt

cid i svaret er den permanente IPFS-innholdsidentifikatoren. sizeMB er den lagrede størrelsen i megabyte. uris-objektet inneholder både den native ipfs://-URIen og en HTTPS-gateway-URL for nettleser-tilgang.

Gi en fil nytt navn

PUT /files/:cid/name

Oppdater visningsnavnet som vises på en fil. CID-en endres ikke — den er en hash av innholdet — bare etiketten du ser i fillisten din.

Forespørselskropp

ParameterTypePåkrevdBeskrivelse
namestringJaNytt visningsnavn. 1-200 tegn. Må ikke inneholde stiskilletegn (/, \). Navn som kun består av mellomrom avvises.

Eksempelforespørsel

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

Svar 200 OK

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

Dashbord

Filer-siden har en Gi nytt navn-oppføring i hver filrads handlingsmeny (tre-prikk-knappen). Samme effekt, ingen kode nødvendig.

List filer

GET /upload/list

Hent en liste over dine opplastede IPFS-filer innenfor et tidsintervall.

Spørringsparametere

ParameterTypePåkrevdBeskrivelse
fromnumberJaStart på tidsintervall, Unix-tidsstempel i millisekunder.
tonumberJaSlutt på tidsintervall, Unix-tidsstempel i millisekunder.

Eksempelforespørsel

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

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

Hent fil

GET /file/:cid

Hent metadata for en spesifikk opplastet fil via dens CID.

Stiparametere

ParameterTypePåkrevdBeskrivelse
cidstringJaIPFS-innholdsidentifikatoren for filen.

Eksempelforespørsel

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

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