Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion demo/node-javascript/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
},
"dependencies": {
"@strapi/client": "link:../..",
"dotenv": "16.4.7"
"dotenv": "16.4.7",
"node-fetch": "^3.3.2"
},
"keywords": [],
"author": {
Expand Down
49 changes: 49 additions & 0 deletions demo/node-javascript/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added demo/node-javascript/src/images/coffee-art.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions demo/node-javascript/src/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
const { strapi } = require('@strapi/client');
require('dotenv').config();
const os = require('os');
const { Blob } = require('node:buffer');
const { readFile } = require('node:fs/promises');

const api_token = process.env.FULL_ACCESS_TOKEN; // READ_ONLY_TOKEN is also available

Expand Down Expand Up @@ -103,6 +105,33 @@ async function main() {
console.log('=== File Update Operations ===');
console.log(os.EOL);

console.log('=== File Upload Example (Blob) ===');
const filePath = './src/images/coffee-art.jpg';
const mimeType = 'image/jpeg';

const fileContentBuffer = await readFile(filePath);
const fileBlob = new Blob([fileContentBuffer], { type: mimeType });

const uploadResult = await client.files.upload(fileBlob, {
name: 'Coffee Art uploaded as Blob',
alternativeText: 'Uploaded directly from blob',
caption: 'Coffee Art uploaded using Blob',
});
console.log('Blob upload successful:', uploadResult);
console.log(os.EOL);

console.log('=== File Upload Example (Buffer) ===');
// Upload the same file as a Buffer directly
const bufferUploadResult = await client.files.upload(fileContentBuffer, {
fileInfo: {
name: 'Coffee Art uploaded as Buffer',
alternativeText: 'Uploaded directly from buffer',
caption: 'Coffee Art uploaded using Buffer',
},
});
console.log('Buffer upload successful:', bufferUploadResult);
console.log(os.EOL);

if (techCategoryResult.data && techCategoryResult.data.length > 0) {
const categoryData = techCategoryResult.data[0];

Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
"@rollup/plugin-terser": "0.4.4",
"@rollup/plugin-typescript": "12.1.2",
"@strapi/eslint-config": "0.2.1",
"@types/node": "^20",
"@types/debug": "4.1.12",
"@types/jest": "29.5.14",
"@types/qs": "6.9.18",
Expand Down
Loading