Implementation
static Future<NCMBFile> upload(String fileName, dynamic blob,
{acl = '', mimeType = ''}) async {
List mime;
if (mimeType == '') {
if (blob is Uint8List) {
var res = lookupMimeType('test', headerBytes: blob);
if (res != null) {
mime = res.split('/');
} else {
mime = ['text', 'plain'];
}
} else {
mime = ['text', 'plain'];
}
} else {
mime = mimeType.split('/');
}
if (blob is! Uint8List) blob = utf8.encode(blob);
if (acl == '') {
acl = new NCMBAcl()
..setPublicReadAccess(true)
..setPublicWriteAccess(true);
}
NCMBRequest r = new NCMBRequest();
Map response = await r.exec('POST', 'files',
objectId: fileName,
fields: {
'acl': acl,
'file': blob,
'mimeType': MediaType(mime[0], mime[1]),
},
multipart: true);
var f = NCMBFile();
f.sets(response);
return f;
}