上传前如何检查视频文件的大小

时间:2018-10-28 21:38:54

标签: dart flutter firebase-storage

我想将视频文件上传到我的云存储中,但是我想在上传之前检查视频文件的大小。如何做到这一点

3 个答案:

答案 0 :(得分:8)

dart 中的解决方案:

//定义函数

getFileSize(String filepath, int decimals) async {
    var file = File(filepath);
    int bytes = await file.length();
    if (bytes <= 0) return "0 B";
    const suffixes = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
    var i = (log(bytes) / log(1024)).floor();
    return ((bytes / pow(1024, i)).toStringAsFixed(decimals)) + ' ' + suffixes[i];  
}

//如何调用函数

print(getFileSize('file-path-will-be-here', 1));

// 输出将是像这样的字符串:

97.5 KB

这对我有用。我希望,这也能帮助你。非常感谢提问。

答案 1 :(得分:6)

如果您具有文件的路径,则可以使用dart:io

var file = File('the_path_to_the_video.mp4');
print(file.lengthSync()); 

答案 2 :(得分:2)

这对我有用。

final file = File('pickedVid.mp4');            
int sizeInBytes = file.lengthSync();
double sizeInMb = sizeInBytes / (1024 * 1024);
if (sizeInMb > 10){
    // This file is Longer the
}