dart:core
庫中Uri
類的用法介紹如下。
已解析的 URI,例如 URL。
要創建具有特定組件的 URI,請使用 new Uri :
var httpsUri = Uri(
scheme: 'https',
host: 'dart.dev',
path: '/guides/libraries/library-tour',
fragment: 'numbers');
print(httpsUri); // https://dart.dev/guides/libraries/library-tour#numbers
httpsUri = Uri(
scheme: 'https',
host: 'example.com',
path: '/page/',
queryParameters: {'search': 'blue', 'limit': '10'});
print(httpsUri); // https://example.com/page/?search=blue&limit=10
final mailtoUri = Uri(
scheme: 'mailto',
path: 'John.Doe@example.com',
queryParameters: {'subject': 'Example'});
print(mailtoUri); // mailto:John.Doe@example.com?subject=Example
HTTP 和 HTTPS URI
要使用 https 方案創建 URI,請使用 Uri.https 或 Uri.http :
final httpsUri = Uri.https('example.com', 'api/fetch', {'limit': '10'});
print(httpsUri); // https://example.com/api/fetch?limit=10
文件 URI
要從文件路徑創建 URI,請使用 Uri.file :
final fileUriUnix =
Uri.file(r'/home/myself/images/image.png', windows: false);
print(fileUriUnix); // file:///home/myself/images/image.png
final fileUriWindows =
Uri.file(r'C:\Users\myself\Documents\image.png', windows: true);
print(fileUriWindows); // file:///C:/Users/myself/Documents/image.png
如果 URI 不是文件 URI,則調用它會拋出 UnsupportedError 。
目錄 URI
與 Uri.file 類似,但非空 URI 路徑以斜杠結尾。
final fileDirectory =
Uri.directory('/home/myself/data/image', windows: false);
print(fileDirectory); // file:///home/myself/data/image/
final fileDirectoryWindows = Uri.directory('/data/images', windows: true);
print(fileDirectoryWindows); // file:///data/images/
來自字符串的 URI
要從字符串創建 URI,請使用 Uri.parse 或 Uri.tryParse :
final uri = Uri.parse(
'https://dart.dev/guides/libraries/library-tour#utility-classes');
print(uri); // https://dart.dev
print(uri.isScheme('https')); // true
print(uri.origin); // https://dart.dev
print(uri.host); // dart.dev
print(uri.authority); // dart.dev
print(uri.port); // 443
print(uri.path); // guides/libraries/library-tour
print(uri.pathSegments); // [guides, libraries, library-tour]
print(uri.fragment); // utility-classes
print(uri.hasQuery); // false
print(uri.data); // null
也可以看看:
相關用法
- Dart UriData.parse用法及代碼示例
- Dart Uri.decodeFull用法及代碼示例
- Dart Uri.replace用法及代碼示例
- Dart Uri.parse用法及代碼示例
- Dart Uri.dataFromString用法及代碼示例
- Dart Uri.tryParse用法及代碼示例
- Dart UriData.mimeType用法及代碼示例
- Dart Uri.encodeComponent用法及代碼示例
- Dart Uri.directory用法及代碼示例
- Dart Uri.toFilePath用法及代碼示例
- Dart Uri.file用法及代碼示例
- Dart Uri.decodeComponent用法及代碼示例
- Dart Uri.dataFromBytes用法及代碼示例
- Dart Uri.removeFragment用法及代碼示例
- Dart Uri構造函數用法及代碼示例
- Dart Uri.splitQueryString用法及代碼示例
- Dart Uri.http用法及代碼示例
- Dart Uri.https用法及代碼示例
- Dart Uri.queryParametersAll用法及代碼示例
- Dart Uri.isScheme用法及代碼示例
- Dart Uri.encodeFull用法及代碼示例
- Dart Uri.queryParameters用法及代碼示例
- Dart Utf8Decoder用法及代碼示例
- Dart UnmodifiableMapView用法及代碼示例
- Dart Uint8List.sublist用法及代碼示例
注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 Uri class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。