首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以上传string/js对象而不将其存储在文件中?- IPFS

是否可以上传string/js对象而不将其存储在文件中?- IPFS
EN

Stack Overflow用户
提问于 2018-07-14 05:32:25
回答 2查看 597关注 0票数 1

我一直在使用js-ipfs应用程序接口,想问一下有没有人知道js-ipfs是否只支持上传文件/文件夹?有没有一种上传的方法,例如像这样的javascript对象:

代码语言:javascript
复制
{
    heading:"SomeHeading",
    content:"somecontent"
}

或者像这样的字符串

代码语言:javascript
复制
"{heading:\"SomeHeading\", content:\"somecontent\"}"

到目前为止,我已经尝试过:

代码语言:javascript
复制
const ipfs = window.IpfsApi('localhost', 5001, {protocol: 'https'});
const buffer = ipfs.Buffer;

async function uploadToIpfs() {
    let someObject = {
        heading:"SomeHeading",
        content:"someContent"
    };

    let objectString = JSON.stringify(someObject);

    let bufferedString = await buffer.from(objectString);

    await ipfs.add(bufferedString, (err, resp) => {
        console.log(err);
        console.log(resp);
    });
}

但我得到了

任何帮助解决这个问题,或者只是一个直立的答案,是否可以只上传一个js对象或字符串将非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2018-07-17 02:39:45

我测试了您的代码,您所需要做的就是将protocol更改为http,因为您是在本地主机上。

代码语言:javascript
复制
{protocol: 'http'}
票数 1
EN

Stack Overflow用户

发布于 2018-07-15 12:28:51

如果我没理解错的话,您希望上传任意的对象内容;因此,您需要一个抽象-blob-storage。这可以使用ipfs-blob-store来完成。

一定要阅读文档,但要理解其中的意思:

代码语言:javascript
复制
var ipfsBlobStore = require('ipfs-blob-store')

var options = {
  port: 5001,   // default value
  host: '127.0.0.1', // default value
  baseDir: '/', // default value
  flush: true  // default value
}    
var store = ipfsBlobStore(options)

var ws = store.createWriteStream({
  key: 'some/path/file.txt'
})

ws.write("{heading:\"SomeHeading\", content:\"somecontent\"}")
ws.end(function() {
  var rs = store.createReadStream({
    key: 'some/path/file.txt'
  })

  rs.pipe(process.stdout)
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51333055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档