【IPFS 工匠解析】IPFS 添加文件 解析
IPFS添加文件的直接命令行(环境是centos)
- 添加文件
ipfs add fileName
- 添加文件夹
ipfs add -r directoryName
添加文件(裹着文件名)
ipfs add fileName -w
ipfs add -r directoryName
这句话添加的是文件夹,-r
指的是recursively(递归) 构建MerkleDAG(默克尔树)
-ipfs add fileName -w
加了一个 -w 意味着wraps (包裹着),包裹着文件名,保留着文件名
centos命令行
.>ipfs add example.jpg
added QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH example.jpg
.>ipfs add example.jpg -w
added QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH
现在你可以这样浏览文件:
/ipfs/QmaG4FuMqEBnQNn3C8XJ5bpW8kLs7zq2ZXgHptJHbKDDVx/example.jpg
IPFS进行curl的命令行上传文件(环境是centos)
- 添加文件或者文件夹
curl -F file=@文件路径 "http://
ip:5001/api/v0/add?recursive=false&cid-version=0&hash=sha2-256
(这里的ip和文件路径自行设置)
IPFS添加文件的JS版
代码 展示
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
jQuery.extend({
handleError: function (s, xhr, status, e) {
// If a local callback was specified, fire it
if (s.error) {
s.error.call(s.context || s, xhr, status, e);
}
// Fire the global callback
if (s.global) {
(s.context ? jQuery(s.context) : jQuery.event).trigger("ajaxError", [xhr, s, e]);
}
},
createUploadIframe: function(id, uri)
{
//create frame
var frameId = 'jUploadFrame' + id;
var iframeHtml = '<iframe id="' + frameId + '" name="' + frameId + '" style="position:absolute; top:-9999px; left:-9999px"';
if(window.ActiveXObject)
{
if(typeof uri== 'boolean'){
iframeHtml += ' src="' + 'javascript:false' + '"';
}
else if(typeof uri== 'string'){
iframeHtml += ' src="' + uri + '"';
}
}
iframeHtml += ' />';
jQuery(iframeHtml).appendTo(document.body);
return jQuery('#' + frameId).get(0);
},
createUploadFor