Line data Source code
1 : import 'dart:async'; 2 : import 'dart:io'; 3 : import 'package:http_parser/http_parser.dart'; 4 : import 'package:path/path.dart' as p; 5 : import 'multipart_file.dart'; 6 : 7 1 : Future<MultipartFile> multipartFileFromPath( 8 : String filePath, { 9 : String? filename, 10 : MediaType? contentType, 11 : final Map<String, List<String>>? headers, 12 : }) async { 13 0 : filename ??= p.basename(filePath); 14 1 : var file = File(filePath); 15 2 : var length = await file.length(); 16 1 : var stream = file.openRead(); 17 1 : return MultipartFile( 18 : stream, 19 : length, 20 : filename: filename, 21 : contentType: contentType, 22 : headers: headers, 23 : ); 24 : } 25 : 26 1 : MultipartFile multipartFileFromPathSync( 27 : String filePath, { 28 : String? filename, 29 : MediaType? contentType, 30 : final Map<String, List<String>>? headers, 31 : }) { 32 0 : filename ??= p.basename(filePath); 33 1 : var file = File(filePath); 34 1 : var length = file.lengthSync(); 35 1 : var stream = file.openRead(); 36 1 : return MultipartFile( 37 : stream, 38 : length, 39 : filename: filename, 40 : contentType: contentType, 41 : headers: headers, 42 : ); 43 : }