[dart] Dart로 파일 업로드 및 다운로드 구현

Dart는 파일을 업로드하고 다운로드하는 기능을 구현하는 데 매우 유용한 언어입니다. 이 기사에서는 Dart를 사용하여 파일을 업로드하고 다운로드하는 방법을 알아보겠습니다.

파일 업로드

Dart에서 파일을 업로드하기 위해서는 HTTP 요청을 사용하여 파일을 서버에 전송해야 합니다. 다음은 Dart의 http 패키지를 사용하여 파일을 업로드하는 간단한 예제입니다.

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

void uploadFile(File file) async {
  var request = http.MultipartRequest(
    'POST',
    Uri.parse('https://example.com/upload'),
  );
  request.files.add(await http.MultipartFile.fromPath('file', file.path));
  var response = await request.send();
  if (response.statusCode == 200) {
    print('File uploaded successfully');
  }
}

위 코드에서는 http 패키지를 사용하여 MultipartRequest를 생성하고, 파일을 추가한 뒤 서버로 전송합니다.

파일 다운로드

Dart를 사용하여 파일을 다운로드하는 것도 간단합니다. http 패키지를 사용하여 파일의 URL에서 바이트 데이터를 가져오고, 그 데이터를 파일로 저장할 수 있습니다.

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

void downloadFile(String url) async {
  var response = await http.get(Uri.parse(url));
  if (response.statusCode == 200) {
    var file = File('downloaded_file.png');
    await file.writeAsBytes(response.bodyBytes);
    print('File downloaded successfully');
  }
}

위 코드에서는 http 패키지를 사용하여 URL에서 파일을 가져온 뒤, File 클래스를 사용하여 해당 데이터를 로컬 파일로 저장합니다.

이제 Dart를 사용하여 파일 업로드와 다운로드를 구현하는 방법에 대해 알아보았습니다. 파일 업로드 및 다운로드와 관련된 더 많은 기능을 살펴보고 싶다면 Dart 공식 문서를 참고하시기 바랍니다.