Uri.dataFromBytes 构造函数

Uri.dataFromBytes(
  1. List<int> bytes, {
  2. String mimeType = "application/octet-stream",
  3. Map<String, String>? parameters,
  4. bool percentEncoded = false,
})

创建一个包含 bytes 编码的 data: URI。

默认使用 Base64 编码字节,但如果 percentEncodedtrue,则字节将被百分号编码(任何非 ASCII 或非有效 ASCII 字符的字节将被百分号编码替换)。

要读取字节,请使用 UriData.contentAsBytes

默认 mime-type 为 application/octet-stream。将 mimeTypeparameters 添加到创建的 URI 中。如果其中任何包含在数据 URI 中不允许的字符,则该字符将被百分号转义。如果字符是非 ASCII 字符,则首先进行 UTF-8 编码,然后对字节进行百分号编码。

示例

final uri = Uri.dataFromBytes([68, 97, 114, 116]);
print(uri); // data:application/octet-stream;base64,RGFydA==

实现

factory Uri.dataFromBytes(List<int> bytes,
    {String mimeType = "application/octet-stream",
    Map<String, String>? parameters,
    bool percentEncoded = false}) {
  UriData data = UriData.fromBytes(bytes,
      mimeType: mimeType,
      parameters: parameters,
      percentEncoded: percentEncoded);
  return data.uri;
}