Skip to content

Αρχεία

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

Files page showing uploaded and pinned files

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

POST /upload/new

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

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

ΠαράμετροςΤύποςΑπαιτείταιΠεριγραφή
contentstring | objectΝαιJSON αντικείμενο/πίνακας, ή δεδομένα αρχείου κωδικοποιημένα σε base64 (εικόνες, PDF, HTML ή οποιοσδήποτε τύπος αρχείου).
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": "QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
  "sizeMB": 0.042,
  "uris": {
    "ipfs": "ipfs://QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
    "url": "https://ipfs.ninja/ipfs/QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN"
  }
}

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

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": "QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
    "fileName": "Test upload",
    "fileType": "json",
    "sizeMB": 0.001,
    "createdAt": 1711036800000,
    "metadata": {
      "project": "my-app",
      "environment": "production"
    },
    "uris": {
      "ipfs": "ipfs://QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
      "url": "https://ipfs.ninja/ipfs/QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN"
    }
  }
]

Λήψη Αρχείου

GET /file/:cid

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

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

ΠαράμετροςΤύποςΑπαιτείταιΠεριγραφή
cidstringΝαιΤο αναγνωριστικό περιεχομένου IPFS του αρχείου.

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

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

Απάντηση 200 OK

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