返回介绍

web3.bzz.upload - 上传到Swarm

发布于 2020-01-19 11:52:19 字数 1975 浏览 1254 评论 0 收藏 0

将文件夹或裸数据上传到swarm网络。

调用:

web3.bzz.upload(mixed)

参数:

mixed - String|Buffer|Uint8Array|Object: 要上传的数据,可以是文件内容、Buffer/Uint8Array、多个 文件,也可以是一个目录或文件名(仅在node.js中有效)。可以使用以下类型:

  • String|Buffer|Uint8Array: 文件内容,要上传的Uint8Array 或Buffer
  • Object:具有以下字段的对象:
    • 多个键值对分别表示文件和目录,路径将保持一致,例如:/foo.txt,文件路径为键,值为一个对象:
      • type: mime类型,例如: "text/html"
      • data: 文件内容,要上传的Uint8Array或Buffer
    • 在Node.js中从磁盘上传一个文件或目录,需要指定一个具有以下属性的对象:
      • path: 文件或目录的路径
      • kind: 源类型,"file" 或 "data"
      • defaultFile: 可选,当kind属性为directory时的默认文件,例如 "/index.html"
    • 在浏览器中上传文件或目录。需要指定一个具有以下属性的对象:
      • pick: 要加载的文件选择器,可以是"file"、 "directory" 或 "data"

返回值:

一个Promise对象,其解析值为上传内容的哈希值。

示例代码:

var bzz = web3.bzz;

//上传裸数据:
bzz.upload("test file").then(function(hash) {
    console.log("Uploaded file. Address:", hash);
})


//上传裸目录:
var dir = {
    "/foo.txt": {type: "text/plain", data: "sample file"},
    "/bar.txt": {type: "text/plain", data: "another file"}
};
bzz.upload(dir).then(function(hash) {
    console.log("Uploaded directory. Address:", hash);
});

//在node.js中从磁盘上传: bzz.upload({ path: "/path/to/thing", // path to data / file / directory kind: "directory", // could also be "file" or "data" defaultFile: "/index.html" // optional, and only for kind === "directory" }) .then(console.log) .catch(console.log);


//在浏览器中从磁盘上传:
bzz.upload({pick: "file"}) // could also be "directory" or "data"
.then(console.log);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文