Skip to content

Tệp

Tải lên, liệt kê và truy xuất tệp trên IPFS.

Trang tệp hiển thị các tệp đã tải lên và ghim

Tải lên Tệp

POST /upload/new

Tải lên bất kỳ tệp nào lên IPFS. Tệp được ghim và một CID vĩnh viễn được trả về.

Nội dung yêu cầu

Tham sốKiểuBắt buộcMô tả
contentstring | objectĐối tượng/mảng JSON, hoặc dữ liệu tệp mã hóa base64 (hình ảnh, PDF, HTML, hoặc bất kỳ loại tệp nào).
descriptionstringKhôngMô tả ngắn về nội dung đã tải lên.
metadataobjectKhôngCặp khóa-giá trị tùy chỉnh để đính kèm vào tệp. Tối đa 10 khóa. Khóa phải là chữ và số hoặc dấu gạch dưới, 1-64 ký tự. Giá trị phải là chuỗi, tối đa 256 ký tự mỗi giá trị. Tổng kích thước siêu dữ liệu không được vượt quá 4 KB.

Ví dụ yêu cầu

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

Tải lên hình ảnh (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"
  })
});

Phản hồi 200 OK

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

Liệt kê Tệp

GET /upload/list

Truy xuất danh sách các tệp IPFS đã tải lên trong khoảng thời gian.

Tham số truy vấn

Tham sốKiểuBắt buộcMô tả
fromnumberBắt đầu khoảng thời gian, dấu thời gian Unix tính bằng mili giây.
tonumberKết thúc khoảng thời gian, dấu thời gian Unix tính bằng mili giây.

Ví dụ yêu cầu

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

Phản hồi 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"
    }
  }
]

Lấy Tệp

GET /file/:cid

Truy xuất siêu dữ liệu cho một tệp đã tải lên cụ thể theo CID.

Tham số đường dẫn

Tham sốKiểuBắt buộcMô tả
cidstringMã định danh nội dung IPFS của tệp.

Ví dụ yêu cầu

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

Phản hồi 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"
  }
}