使用 Moralis 时,IPFS 支持开箱即用。
创新互联公司基于分布式IDC数据中心构建的平台为众多户提供西部信息服务器托管 四川大带宽租用 成都机柜租用 成都服务器租用。
您可以使用 saveIPFS()
方法上传文件(最大文件大小为 1 GB)。
// Save file input to IPFS
const data = fileInput.files[0];
const file = new Moralis.File(data.name, data);
await file.saveIPFS();
//console.log(file.ipfs(), file.hash())
// Save file reference to Moralis
const jobApplication = new Moralis.Object("Applications");
jobApplication.set("name", "Satoshi");
jobApplication.set("resume", file);
await jobApplication.save();
// Retrieve file
const query = new Moralis.Query("Applications");
query.equalTo("name", "Satoshi");
query.find().then(function ([application]) {
const ipfs = application.get("resume").ipfs();
const hash = application.get("resume").hash();
console.log("IPFS url", ipfs);
console.log("IPFS hash", hash);
});
数据会自动固定。
您还可以直接从 JavaScript 上传 JSON 对象,通过保存 base64 字符串,Moralis 将自动从提供的 base64 创建缓冲区:
const object = {
key: "value",
};
const file = new Moralis.File("file.json", {
base64: btoa(JSON.stringify(object)),
});
await file.saveIPFS();
通过上传 base64,您还可以上传其他 base64 编码的文件,例如图片(你可以使用JS
、React
来实现)。
const image = "data:image/png;base64,iVBORw0KGgoAAA....";
const file = new Moralis.File("image.png", { base64: image });
await file.saveIPFS();
const { saveFile } = useMoralisFile();
const uploadFile = () => {
const base64 = "V29ya2luZyBhdCBQYXJzZSBpcyBncmVhdCE=";
saveFile(
"myfile.txt",
{ base64 },
{
type: "base64",
saveIPFS: true,
onSuccess: (result) => console.log(result.ipfs()),
onError: (error) => console.log(error),
}
);
};
可以通过对公共网关的 GET 请求来检索 IPFS 文件。 Moralis 网关的 URL 是:
例如,https://gateway.moralisipfs.com/ipfs/QmUfpsyqc4hwozotRo4woyi5fJqvfcej5GcFvKiWoY6xr6。 从浏览器获取 IPFS 中的 JSON 文档的函数可以编写如下:
async function fetchIPFSDoc(ipfsHash) {
const url = `https://gateway.moralisipfs.com/ipfs/${ipfsHash}`;
const response = await fetch(url);
return await response.json();
}
Moralis 公共 IPFS 网关用于:
Moralis 公共 IPFS 网关不适用于:
本文标题:创新互联Moralis教程:MoralisIPFS
本文地址:http://www.mswzjz.cn/qtweb/news8/283908.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能