-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuploadFiles.js
More file actions
36 lines (28 loc) · 932 Bytes
/
uploadFiles.js
File metadata and controls
36 lines (28 loc) · 932 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const { pinataApiKey, pinataSecretApiKey } = require('./secrets.json');
const axios = require("axios");
const fs = require("fs");
const FormData = require("form-data");
const fileToUpload = "file (1)";
const pinFileToIPFS = async () => {
const url = `https://api.pinata.cloud/pinning/pinFileToIPFS`;
let data = new FormData();
data.append("file", fs.createReadStream(`./img/${fileToUpload}.png`));
const res = await axios.post(url, data, {
maxContentLength: "Infinity",
headers: {
"Content-Type": `multipart/form-data; boundary=${data._boundary}`,
pinata_api_key: pinataApiKey,
pinata_secret_api_key: pinataSecretApiKey,
},
});
console.log(res.data);
const finished = (error) => {
if(error){
console.error(error)
return;
}
}
const jsonData = JSON.stringify(res.data)
fs.writeFile(`./img/${fileToUpload}.json`, jsonData, finished)
};
pinFileToIPFS();