UriData.fromUri 构造函数
- Uri uri
从具有 data
作为 Uri.scheme 的 Uri 创建一个 DataUri
。
uri
必须有 data
方案,没有授权或片段,并且路径(如果有查询,则与查询连接)必须作为与 parse 相同的规则有效的数据 URI 内容。
实现
factory UriData.fromUri(Uri uri) {
if (!uri.isScheme("data")) {
throw ArgumentError.value(uri, "uri", "Scheme must be 'data'");
}
if (uri.hasAuthority) {
throw ArgumentError.value(uri, "uri", "Data uri must not have authority");
}
if (uri.hasFragment) {
throw ArgumentError.value(
uri, "uri", "Data uri must not have a fragment part");
}
if (!uri.hasQuery) {
return _parse(uri.path, 0, uri);
}
// Includes path and query (and leading "data:").
return _parse(uri.toString(), 5, uri);
}