8.4.1 文件上传接口
通过此接口可以将文件或目录上传至IPFS网络。
1. 接口地址:https://节点网关地址/ipfs/[peer名称]/上传key/api/v0/add
2. 通讯方式: POST
3. 请求参数
序号 | 字段名 | 字段 | 类型 | 必填 | 备 注 |
---|---|---|---|---|---|
1 | 待添加文件 | arg | file | Y | 待添加到 ipfs 的文件路径 注:该参数应用于body中, 其他参数应用于URL |
2 | 是否生成DAG | trickle | bool | N | 是否使用 trickle-dag 格式算法生成DAG(有向无环图),默认为false,当此节段为false时,生成DAG节点所对应的统计信息中链接数量大于0 true时链接数量等于0 |
3 | 叶节节点是否使用原始块 | raw-leaves | bool | N | 是否为叶子节点使用原始块(实验参数) 当trickle和此参数为true时,DAG节点统计信息中区块大小以及链接大小数据为0 其它情况下DAG节点统计信息中区块大小以及链接大小数据大于0 |
4 | 是否持久化 | pin | bool | N | 是否在添加的时候持久化 (不被垃圾回收所回收) |
5 | 是否不输出 | silent | bool | N | 当silent为true时不返回,false时则返回上传结果 |
6 | 流式进度数据 | progress | bool | N | 流式进度数据 |
7 | 是否递归 | recursive | bool | N | 是否递归添加目录路径 |
8 | 是否隐藏 | hidden | bool | N | 是否添加隐藏文件,只有在递归的时候才有用 |
9 | 是否提供符号链接 | dereference-args | bool | N | 提供的符号链接 |
10 | stdin名称 | stdin-name | string | N | 如果文件名称为sou,则分配一个名称rce是stdin |
11 | 是否最小输出 | quiet | bool | N | 是否最小输出 |
12 | 是否只写入哈希值 | quieter | bool | N | 是否只写入哈希值 |
13 | 仅出块和HASH | only-hash | bool | N | 是否仅仅出块和hash,不写入磁盘 |
14 | 是否使用目录来包装文件 | wrap-with-directory | bool | N | 是否使用目录对象来包装文件 |
15 | 成块算法 | chunker | string | N | 成块算法,默认值:size-262144 |
示例
// POST
curl "https://网关地址/ipfs/上传key/api/v0/add? pin=true&trickle=false&raw-leaves=true&silent=false"\
-X POST \
-H "Content-Type: multipart/form-data" \
-F arg=@"/sample-result.json"
4. 响应参数
序号 | 字段名 | 字段 | 类型 | 备注 |
---|---|---|---|---|
1 | 文件名 | Name | string | |
2 | CID | Hash | string | |
3 | 文件大小 | Size | string |
示例
{
"Name": "sample-result.json",
"Hash": "QmSTkR1kkqMuGEeBS49dxVJjgHRMH6cUYa7D3tcHDQ3ea3",
"Size": "2120"
}