我一直在使用js-ipfs应用程序接口,想问一下有没有人知道js-ipfs是否只支持上传文件/文件夹?有没有一种上传的方法,例如像这样的javascript对象:
{
heading:"SomeHeading",
content:"somecontent"
}或者像这样的字符串
"{heading:\"SomeHeading\", content:\"somecontent\"}"到目前为止,我已经尝试过:
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对象或字符串将非常感谢!
发布于 2018-07-17 02:39:45
我测试了您的代码,您所需要做的就是将protocol更改为http,因为您是在本地主机上。
{protocol: 'http'}发布于 2018-07-15 12:28:51
如果我没理解错的话,您希望上传任意的对象内容;因此,您需要一个抽象-blob-storage。这可以使用ipfs-blob-store来完成。
一定要阅读文档,但要理解其中的意思:
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)
})https://stackoverflow.com/questions/51333055
复制相似问题