irys.uploadFile(fileName, tags)
Permanently uploads a file.
Parameters
fileName
: Name of the file to uploadtags
: Optional metatags
Returns
receipt
: A receipt in the form of a JSON object with the following values:
response = {
id, // Transaction id (used to download the data)
timestamp, // Timestamp (UNIX milliseconds) of when the transaction was created and verified
version, // The version of this JSON file, currently 1.0.0
public, // Public key of the bundler node used
signature, // A signed deep hash of the JSON receipt
deadlineHeight, // The block number by which the transaction must be finalized on Arweave
block, // Deprecated
validatorSignatures, // Deprecated
verify, // An async function used to verify the receipt at any time
}
Example
const irys = await getIrys();
// Your file
const fileToUpload = "./myImage.png";
// Add a custom tag that tells the gateway how to serve this file to a browser
const tags = [{ name: "Content-Type", value: "image/png" }];
try {
const response = await irys.uploadFile(fileToUpload, tags);
console.log(`File uploaded ==> https://gateway.irys.xyz/${response.id}`);
} catch (e) {
console.log("Error uploading file ", e);
}
ℹ️
The transaction id returned as part of the response is used to download the data, simply create a URL with the
format https://gateway.irys.xyz/[transaction-id].