2 个版本

0.1.1 2020年2月28日
0.1.0 2020年2月26日

#23 in #international

Apache-2.0

31KB
518

IIIF

国际图像互操作框架的 Rust 客户端。

目前仅包含图像 API。

安装

[dependencies]
iiif = "0.1.0"

用法

提供了一个方便的获取函数,并为每个请求创建一个新的客户端,建议创建一个可重用的客户端并将其传递给请求函数以进行多次请求。

获取并写入文件
let api = Image::new("https://ids.lib.harvard.edu/ids/iiif");
api.identifier("25286607");
let response = api.fetch()
                  .await
                  .unwrap();

// Write to foo.jpg
response.write_to_file("foo.jpg")
        .await
        .expect("Writing file to disk");
可重用客户端请求
let client = Client::new();
let base = "https://ids.lib.harvard.edu/ids/iiif";
let mut images: Vec<Bytes> = Vec::new();

// Iterate through some images
let ids = ["25286607", "25286608", "25286609"];
for id in ids {
  let mut api = Image::new(base);
  api.identifier(id);
  let response = api.request(&client)
                    .await
                    .unwrap();
  images.push(response.image);
}

依赖项

~7–11MB
~226K SLoC