Skip to content

Αρχεία

Ανεβάστε, δείτε τη λίστα και ανακτήστε αρχεία στο IPFS.

Files page showing uploaded and pinned files

Ανέβασμα Αρχείου

POST /upload/new

Ανεβάστε οποιοδήποτε αρχείο στο IPFS. Το αρχείο καρφιτσώνεται και επιστρέφεται ένα μόνιμο CID.

Σώμα αιτήματος

ΠαράμετροςΤύποςΑπαιτείταιΠεριγραφή
contentstring | objectΝαιΑντικείμενο/πίνακας JSON, ή δεδομένα αρχείου κωδικοποιημένα σε base64 (εικόνες, PDF, HTML, ή οποιονδήποτε τύπο αρχείου). Για εισαγωγές CAR, αρχείο CAR κωδικοποιημένο σε base64.
carbooleanΌχιΟρίστε σε true για εισαγωγή αρχείου CAR (εισαγωγή DAG). Διατηρεί τα ακριβή CID.
descriptionstringΌχιΣύντομη περιγραφή του περιεχομένου που ανεβαίνει.
metadataobjectΌχιΠροσαρμοσμένα ζεύγη κλειδιού-τιμής προς επισύναψη στο αρχείο. Μέγιστο 10 κλειδιά. Τα κλειδιά πρέπει να είναι αλφαριθμητικά ή κάτω παύλα, 1-64 χαρακτήρες. Οι τιμές πρέπει να είναι συμβολοσειρές, μέγιστο 256 χαρακτήρες η καθεμία. Το συνολικό μέγεθος των metadata δεν πρέπει να υπερβαίνει τα 4 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 (bafk… για μικρό περιεχόμενο ενός block, bafy… για μεγαλύτερα αρχεία και καταλόγους) σύμφωνα με το προφίλ IPIP-0499 unixfs-v1-2025 — τμήματα (chunks) του 1 MiB με raw leaves. Τα παλαιότερα CID τύπου Qm… από προγενέστερα ανεβάσματα παραμένουν πλήρως επιλύσιμα και συνεχίζουν να λειτουργούν με κάθε endpoint.

Εναλλακτική μέσω dashboard

Η σελίδα /upload του dashboard δέχεται drag-and-drop για αρχεία, φακέλους (συσκευάζονται σε κατάλογο UnixFS μέσα στον browser), και αρχεία .car — όλα δρομολογούνται μέσω του ίδιου endpoint. Δείτε το Εισαγωγή CAR για λεπτομέρειες σχετικά με τη διαδρομή CAR.

Μετονομασία Αρχείου

PUT /files/:cid/name

Ενημερώστε το εμφανιζόμενο όνομα ενός αρχείου. Το CID δεν αλλάζει — είναι ένα hash του περιεχομένου — αλλάζει μόνο η ετικέτα που βλέπετε στη λίστα αρχείων σας.

Σώμα αιτήματος

ΠαράμετροςΤύποςΑπαιτείταιΠεριγραφή
namestringΝαιΝέο εμφανιζόμενο όνομα. 1-200 χαρακτήρες. Δεν πρέπει να περιέχει διαχωριστικά διαδρομής (/, \). Ονόματα που περιέχουν μόνο κενά απορρίπτονται.

Παράδειγμα αιτήματος

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

Dashboard

Η σελίδα Files έχει μια επιλογή Μετονομασία στο μενού ενεργειών κάθε γραμμής αρχείου (κουμπί με τις τρεις τελείες). Ίδιο αποτέλεσμα, χωρίς κώδικα.

Λίστα Αρχείων

GET /upload/list

Ανακτήστε μια λίστα με τα ανεβασμένα σας αρχεία IPFS εντός ενός χρονικού εύρους.

Παράμετροι ερωτήματος

ΠαράμετροςΤύποςΑπαιτείταιΠεριγραφή
fromnumberΝαιΑρχή του χρονικού εύρους, Unix timestamp σε milliseconds.
tonumberΝαιΤέλος του χρονικού εύρους, Unix timestamp σε 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

Ανακτήστε metadata για ένα συγκεκριμένο ανεβασμένο αρχείο μέσω του CID του.

Παράμετροι διαδρομής

ΠαράμετροςΤύποςΑπαιτείταιΠεριγραφή
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"
  }
}