
This tutorial explains about below program
- How to get the MIME type of a file
- How to find the extension of a given file
How to get the MIME type of file?
This program explains about to get mime types of a file.
The mime
package provides a lookupMimeType
function, that returns the MIME type.
It parses the path of a file, returns extension, extension is checked against MIME types, and returns the MIME-type
Here is an example program
import 'package:mime/mime.dart';
void main() {
print(getExtension("test.doc")); //application/msword
print(getExtension("abc.pdf")); //application/pdf
print(getExtension("photo.png")); //image/png
print(getExtension("test.jpg")); //image/jpeg
print(getExtension("config.xml")); //application/xml
print(getExtension("abc.json")); //application/json
}
String getExtension(String path) {
final mimeType = lookupMimeType(path);
return mimeType;
}
Dart gets file extension
There are multiple ways to get the extension name of a file.
For example, if the given file is input.png, then the extension is png
.
One way, using a split function
Create a function, that accepts a file path Inside a function, split the path using. separator and returns the parts of a string.
List<String> split(Pattern pattern);
It returns the list of strings with parts. The last element is an extension that can be get using List.last property.
Here is an example program
void main() {
print(getExtension("test.png"));
print(getExtension("abc/test.png"));
}
String getExtension(String fileName) {
return fileName.split('.').last;
}
Output:
test
png
The above program fails if an extension is not found.
Let’s see another way is using path package.
The Path
package provides functions to process split and join operations on file system files.
Path provides an extension
function
String extension(String path, [int level = 1])
level returns multiple extensions including include number of dots(.
)
Here is an example program
import 'package:path/path.dart' as p;
void main() {
print(getExtension("test"));
print(getExtension("abc/test.png"));
print(getExtension1("test", 1)); //returns empty
print(getExtension1("abc.test.png", 2)); //.test.png
print(getExtension1("abc.test.png", 1)); //.png
print(getExtension1("abc.png", 1)); //.png
}
String getExtension1(String path, [int level]) {
final extension = p.extension(path, level);
return extension;
}