MST

星途 面试题库

面试题:Flutter中http插件文件上传基本实现

在Flutter项目中,若要使用http插件进行文件上传,假设已有一个本地文件路径,且后端接口地址为 'https://example.com/upload',请简述实现文件上传的主要步骤,并给出关键代码片段。
20.6万 热度难度
前端开发Flutter

知识考点

AI 面试

面试题答案

一键面试

主要步骤

  1. 添加依赖:在 pubspec.yaml 文件中添加 http 插件依赖。
  2. 导入依赖:在需要上传文件的 Dart 文件中导入 http 库。
  3. 读取本地文件:使用 dart:io 库中的 File 类读取本地文件内容。
  4. 构建请求:使用 http.MultipartRequest 构建包含文件数据的 HTTP 请求,设置请求方法为 POST,并指定后端接口地址。
  5. 添加文件到请求:将读取的文件内容添加为请求的一部分。
  6. 发送请求:发送构建好的请求,并处理响应。

关键代码片段

import 'dart:io';
import 'package:http/http.dart' as http;
import 'package:http/http.dart';

Future<void> uploadFile(String filePath) async {
  final file = File(filePath);
  final request = http.MultipartRequest(
    'POST',
    Uri.parse('https://example.com/upload'),
  );
  final multipartFile = await http.MultipartFile.fromPath(
    'file',
    file.path,
  );
  request.files.add(multipartFile);
  final response = await request.send();
  if (response.statusCode == 200) {
    print('File uploaded successfully');
  } else {
    print('Failed to upload file, status code: ${response.statusCode}');
  }
}