parameters属性

Map<String, String> parameters

表示媒体类型参数的Map。

数据URI可能包含MIME类型和数据之间的参数。这些参数按照参数名称到参数值的映射转换为一个Map。这个Map只包含URI中实际出现的参数。即使URI中不包含,charset参数也有默认值,这在charset属性中得到体现。这意味着即使parameters["charset"]nullcharset也可能返回一个值。

如果值包含非ASCII值或百分号转义,它们将被解码为UTF-8。

实现

Map<String, String> get parameters {
  var result = <String, String>{};
  for (int i = 3; i < _separatorIndices.length; i += 2) {
    var start = _separatorIndices[i - 2] + 1;
    var equals = _separatorIndices[i - 1];
    var end = _separatorIndices[i];
    String key = _Uri._uriDecode(_text, start, equals, utf8, false);
    String value = _Uri._uriDecode(_text, equals + 1, end, utf8, false);
    result[key] = value;
  }
  return result;
}