Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以上载string/js对象而不将其存储在文件中知识产权_Javascript_Json_String_File_Ipfs - Fatal编程技术网

Javascript 是否可以上载string/js对象而不将其存储在文件中知识产权

Javascript 是否可以上载string/js对象而不将其存储在文件中知识产权,javascript,json,string,file,ipfs,Javascript,Json,String,File,Ipfs,我一直在玩API,想问是否有人知道js ipfs是否只支持上传文件/文件夹?是否有上传的方法,例如javascript对象,如: { heading:"SomeHeading", content:"somecontent" } 或者像绳子一样的东西 "{heading:\"SomeHeading\", content:\"somecontent\"}" 到目前为止,我已经尝试: const ipfs = window.IpfsApi('localhost', 5001, {p

我一直在玩API,想问是否有人知道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对象或字符串,我们将不胜感激

如果我正确理解你的问题,你想上传任意对象内容;因此,您需要一个抽象的blob存储。这可以通过使用

请务必阅读文档,但要了解其中的含义:

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)
})

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

{protocol: 'http'}

我的回答有点晚,但我找到了问题的答案。正如@Miguel Mota在下面所说的,我应该将
{protocol:'https'}
更改为
{protocol:'http'}
,因为im在本地主机上。之后出现的另一个问题是,我得到了一个CORS错误,我通过在cmd
ipfs config--json API.HTTPHeaders.Access-Control-Allow-Origin“[\”中运行此命令修复了该错误http://localhost:9090\“]”
其中
http://localhost:9090
是我的应用程序的http服务器。这些也帮助了我很多!