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 对字节进行编码,但如果 percentEncoded 设置为 true,则字节将被百分号编码(任何非 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;
}