uploadOss static method
Implementation
static Future<String> uploadOss(File file,
{String policyApi = "/public/oss/policy"}) async {
var resp = PolicyModel.fromJson(await DemonHttp().get(policyApi));
String fileName = resp.dir! +
const Uuid().v1() +
(file.path.split('.').last.isEmpty
? ""
: "." + (file.path.split('.').last));
FormData formData = FormData.fromMap({
"file": await MultipartFile.fromFile(file.path, filename: fileName),
"key": fileName,
"policy": resp.policy,
"OSSAccessKeyId": resp.accessid,
"success_action_status": 200,
"signature": resp.signature
});
EasyLoading.show();
await Dio().post(resp.host!, data: formData).whenComplete(() {
EasyLoading.dismiss();
});
String fullfilename;
if (resp.host!.endsWith("/")) {
fullfilename = resp.host! + fileName;
} else {
fullfilename = resp.host! + "/" + fileName;
}
return fullfilename;
}