toMultipartFile method

Future<MultipartFile> toMultipartFile()

Converts the NativeFile to a MultipartFile.

Implementation

Future<dio.MultipartFile> toMultipartFile() async {
  final String filename = _resolveFilename();

  if (path != null) {
    return await dio.MultipartFile.fromFile(
      path!,
      filename: filename,
      contentType: mime,
    );
  }

  final Uint8List? byteData = bytes.value;
  if (byteData != null) {
    return dio.MultipartFile.fromStream(
      () => _chunkedStream(byteData),
      byteData.length,
      filename: filename,
      contentType: mime,
    );
  }

  if (stream != null) {
    return dio.MultipartFile.fromStream(
      () => stream!,
      size,
      filename: filename,
      contentType: mime,
    );
  }

  throw ArgumentError('At least stream, bytes or path should be specified.');
}