isMimeType 方法

  1. @Since("2.17")
bool
  • String mimeType
  • )

    是否 UriData.mimeType 等于 mimeType

    data: URI 的 MIME 类型与 mimeType 进行不区分大小写的比较,忽略 ASCII 字符的大小写。

    空的 mimeType 被视为等同于 text/plain,这不仅适用于 mimeType 参数,也适用于 data: URI 本身。

    实现

    @Since("2.17")
    bool isMimeType(String mimeType) {
      int start = _separatorIndices[0] + 1;
      int end = _separatorIndices[1];
      if (start == end) {
        return mimeType.isEmpty ||
            identical(mimeType, "text/plain") ||
            _caseInsensitiveEquals(mimeType, "text/plain");
      }
      if (mimeType.isEmpty) mimeType = "text/plain";
      return (mimeType.length == end - start) &&
          _caseInsensitiveStartsWith(mimeType, _text, start);
    }