📜  网络图片 url - Dart (1)

📅  最后修改于: 2023-12-03 14:57:01.809000             🧑  作者: Mango

使用 Dart 进行网络图片下载

在 Dart 中,我们可以使用 http 库来进行网络请求,当然包括下载网络图片。以下是一个简单的示例。

代码示例
import 'dart:io';
import 'package:http/http.dart' as http;
import 'package:path/path.dart';

void main() async {
  var imageUrl =
      'https://upload.wikimedia.org/wikipedia/commons/1/1e/Dart_programming_language_logo.svg';

  var response = await http.get(Uri.parse(imageUrl));
  var fileName = basename(imageUrl);
  var file = File(fileName)..writeAsBytesSync(response.bodyBytes);
  print('The image has been downloaded to ${file.absolute.path}');
}
分析
  • 第一行导入了 dart:io,用于后续的文件操作。
  • 第二行导入了 http 库,用于发起网络请求。
  • 第三行导入了 path 库,用于处理文件路径。
  • async 标记为异步函数,用于支持 await
  • http.get 发起 GET 请求,并返回响应对象 response
  • basename 函数用于获取 URL 中的文件名。
  • 根据文件名创建一个新的 File 对象。
  • 使用 writeAsBytesSync 将响应的二进制数据写入文件。
  • 输出文件的绝对路径。
总结

使用 Dart 下载网络图片与其他编程语言类似,使用 http 库发起 GET 请求,处理响应,将图片保存到文件。另外,这段代码还演示了如何从 URL 中获取文件名,以及如何使用 File 类创建文件对象。