diff --git a/createCollectionsFromCSVs.js b/createCollectionsFromCSVs.js index eb745fc..b0cb950 100644 --- a/createCollectionsFromCSVs.js +++ b/createCollectionsFromCSVs.js @@ -1,6 +1,8 @@ const fs = require('fs'); const path = require('path'); const csvParser = require('csv-parser'); +const { readFile } = require('node:fs/promises'); +const { basename } = require('node:path'); const koillectionBaseUrl = 'https://koillection.nelson-household.com/api'; // Verify this URL const authenticationUrl = `${koillectionBaseUrl}/authentication_token`; // URL to obtain JWT const imagesDir = path.join(__dirname, 'master-set-images/perfect-order'); // Use __dirname for correct path @@ -108,13 +110,14 @@ const applyImageToItem = async (itemId, localImagePath, fileName, token) => { return {}; } + const fileData = await readFile(path.join(localImagePath, fileName)); + const fileNameBase = basename(path.join(localImagePath, fileName)); const formData = new FormData(); - formData.append('image', new Blob([fs.readFileSync(path.join(localImagePath, fileName))], { type: 'image/jpg' }), fileName); + formData.append('file', new Blob([fileData], { type: 'image/jpg' }), fileNameBase); const response = await fetch(`${koillectionBaseUrl}/items/${itemId}/image`, { method: 'POST', headers: { 'Authorization': `Bearer ${token}`, - 'Content-Type': 'multipart/form-data', }, body: formData });