我正在开发一个使用 IPFS 存储文件的反应应用程序,目前使用超级代理发出请求。我可以从网络应用程序添加文件没有问题,例如:
URL: http://127.0.0.1:5001/api/v0/add
------WebKitFormBoundary9gG5B69BhTfpMoyB
Content-Disposition: form-data; name="blahblahfile.mp3"; filename="blahblahfile.mp3"
Content-Type: audio/mp3
------WebKitFormBoundary9gG5B69BhTfpMoyB--
但现在我正在尝试实现一个取消固定功能,但它不起作用。我提出以下要求:
pin : (action, hash) => {
const url = ipfs.getUrl(`pin/${action}`)
const req = request.post(url)
if (hash) {
req.query({
args : hash,
recursive : true
})
}
return req
}
它发送一个像这样的 url:http://127.0.0.1:5001/api/v0/pin/rm?args=QmWzCL86fMNoGjsdYW88VV9AGCV4TFX1ddKzYHzGHbGmGj&recursive=true
然后垃圾收集:
http://127.0.0.1:5001/api/v0/repo/gc
所有请求都成功通过,但未删除该项目。我认为奇怪的一件事是在对请求的响应中,数组pin/rm
中没有列出任何引脚。Pins
我的理解是它会返回你刚刚取消固定的哈希值。
我觉得它在pin/rm
某个地方失败了,但我不确定在哪里。请注意,我可以在终端中执行这些命令,并且所有内容都会被取消固定并正确收集垃圾。
有没有人有类似的经历?有什么提示吗?如果您需要更多信息,请告诉我,谢谢!