File Support
File support is plugin that allow you to perform file handling operations. Like convert file to multipart.File support also help file to upload via base64.File support have most reliable compression algorithm to compress image.It also allow user to download files from any url.
Features
- Get file name from file.
- Convert file to multipart file
- Create random file for testing puroses.
- Create random image for flutter.
- Extract all information about file like Name,Type,Size etc.
- Get file extension from file.
- Add Image Compression
- Download Files
Permission Required for purposes to download Files in Ios Info.plist
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
<key>UIFileSharingEnabled</key>
<true/>
Permission Required for purposes to download Files in Android Manifest
<application
android:label=""
android:requestLegacyExternalStorage="true" <===== ADD This line
android:icon="@mipmap/ic_launcher"> <application
android:label=""
android:icon="@mipmap/ic_launcher">
android:requestLegacyExternalStorage="true" <== carefully add in appliction section of manifiest xml. If you are download file for download folder.
Also Add this :
These are following permission for download file required for android devices.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />
Get Multipart for Dio Speciallity is that no need to define mime.It simply return any file to multipart to sent multipart object on dio request
await getMultiPartFromFile(File file) ;
return object is Multipart Object
Get File Name Without Extension. It return name of file without extension.
getFileNameWithoutExtension(File file) ;
return object is String.
Get File Name With Extension. It return name of file with extension.
getFileName(File file)
return object is String.
Get Extension of file. It return name extension of every file that have
getFileExtension(File file)
return object is String.
Get Base64 for any file.(Future) It used to convert any file to base64 format just sent file object in paramter.
getBase64FromFile(File file) ;
return object is future String.
Get File from any Base64 This method return file from base64 just pass mention parameter.Extension is required to tell in order to decode.
getFileFromBase64(
{required String base64string,
required String name,
required String extension})
return object is Future File
Get Multipart for http module Get multipart file for http multipart request
getHttpMutipartFile({required String field, required File file})
return object is Future http.MultipartFile
Get Image Resolution Details File support this feature help you know about image Resolution
Future<FileData>getImageReslution(File file)
return object is Future FileData contain imageheight and imagewidth paramter hold image resolution.
Get File Type File support this feature help you know about file type like image,zip etc..
getFileType(File? file)
return object is String with image type.tion.
Compress Image File support this feature help you get Compress Images in order to uplaod, File is required, quality determines image size.
Future<File?> compressImage(File file,{int? quality,int? rotate})
return object is File. If user get null file incase of wrong file added except images
Download File to store as per custom Location This feature allow user to download file.You can replace path with path provider with getApplicationDirectory. using https://pub.dev/packages/path_provider
Future<File?> downloadCustomLocation(
{required String? url,
Function(String)? progress,
required String filename,
required String extension,
required path})
Example
String? android_path = "${await FileSupport().getRootFolderPath()}/GHMC/";
File? file = await FileSupport().downloadCustomLocation(
url: "https://www.rmp-streaming.com/media/big-buck-bunny-360p.mp4",
path: android_path, filename: "Progress", extension: ".mp4",progress: (progress){
print(progress)
});
return object is File. If user get null file incase of download may not complete
Download File only Download Folder Android This feature allow user to download file.
Future<File?> downloadFileInDownloadFolderAndroid(
{required String? url,
Function(String)? progress,
required String filename,
required String extension}) async
Example
File? file = await FileSupport().downloadFileInDownloadFolderAndroid(
url: "https://www.rmp-streaming.com/media/big-buck-bunny-360p.mp4",
filename: "Progress", extension: ".mp4",progress: (p){
p.printinfo;
});
return object is File. If user get null file incase of download may not complete
Get Download Directory
File Support this feature allow user to get download folder path of any android device and ios device application directory path
Future<String?>? getDownloadFolderPath()
return object is String.
Features and bugs
Please file feature requests and bugs at the issue tracker