5 个版本

0.1.4 2023年5月25日
0.1.3 2021年8月24日
0.1.2 2021年8月16日
0.1.1 2021年8月13日
0.1.0 2021年8月8日

#827开发工具

每月 28 次下载

GPL-3.0-or-later

26KB
58

Duri

made-in-vietnam registry

命令行工具,用于获取文件的 data URI。

Logo

安装

Duri 用 Rust 编写,因此您可以从 crates.io 安装它

cargo install duri

用法

  • 从文件路径读取

    duri image.png
    
  • 从标准输入读取

    echo image.png | duri -
    
  • 要查看更多选项,请运行 --help

    duri --help
    

用例

假设您需要将文件上传到 RESTful HTTP API。HTTP API 可能要求发送的数据为 JSON 字符串,文件内容以 base64 编码的 data URI 形式。

您可以将 Duri 与 jo 结合使用来构建 JSON,如下所示

jo -d. file.name=image.png file.content=$(duri image.png)

然后传递给 CLI HTTP 客户端,例如 HTTPie

jo -d. file.name=image.png file.content=$(duri image.png) | http example-api.vn/ekyc/

duri + jo 组合将生成类似以下的 JSON

{
  "file": {
    "name": "image.png",
    "content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAABI2..."
  }
}

该字符串通过标准输入传递给 HTTPie,HTTPie 将使用该 JSON 数据构建 POST 请求。

注意,如果您的 HTTP API 要求文件为纯 base64 字符串,不以 data:xxx 开头,则不需要 Duri。在这种情况下,只需使用 jo 即可,使用其 % 修饰符

jo -d. file.name=image.png file.content=%image.png | http example-api.vn/ekyc/

致谢

依赖项

~9–19MB
~236K SLoC