sol-mem-gen/upload-image-to-pinata.ts

35 lines
980 B
TypeScript

// import { PinataSDK } from "pinata";
import { PinataSDK } from "pinata-web3";
import fs from 'fs';
async function main (): Promise<void> {
const pinata = new PinataSDK({
pinataJwt: "<pinata-jwt>",
pinataGateway: "pinata-gateway",
});
try {
// const file = new File(["hello world"], "Testing.txt", { type: "text/plain" });
// const imageBuffer = fs.readFileSync('meme.png');
// const file = new File([imageBuffer], "meme.png", { type: "image/png" });
const imageUrl = 'https://fal.media/files/elephant/U5kmZoEsQdBx8r7oyBo8C.png';
const upload = await pinata.upload.url(imageUrl);
console.log(upload);
console.log("Files on account:", await pinata.listFiles())
const publicURL = await pinata.gateways.convert(upload.IpfsHash);
console.log('publicURL', publicURL)
} catch (error) {
console.log(error);
}
console.log("Files on account:", await pinata.listFiles())
}
main().catch(err => {
console.error(err);
});