我试图从Flutter Web上传 AWS s3 上的视频,并且视频上传成功。但这并没有像上传多少百分比那样向我显示进度。
uploadFile(String url, Uint8List imageBytes) async {
BaseOptions options = new BaseOptions(
contentType: "multipart/form-data",
headers: {
'Access-Control-Allow-Origin': '*',
"Access-Control-Allow-Methods": "POST,GET,DELETE,PUT,OPTIONS",
"Access-Control-Allow-Credentials": true,
"Access-Control-Allow-Headers": "Origin,Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,locale",
'Accept': "*/*",
},
connectTimeout: 200000,
receiveTimeout: 200000,
sendTimeout: 200000,
followRedirects: true,
validateStatus: (status) {
print('Status: $status');
return status <= 500;
});
Dio _dio = new Dio(options);
var file = MultipartFile.fromBytes(imageBytes).finalize();
await _dio.put(
url,
data: file,
onReceiveProgress: (int sentBytes, int totalBytes) {
double progressPercent = sentBytes / totalBytes * 100;
print("Progress: $progressPercent %");
if (progressPercent == 100) {
dispose();
}
},
onSendProgress: (int sentBytes, int totalBytes) {
double progressPercent = sentBytes / totalBytes * 100;
print("Progress: $progressPercent %");
if (progressPercent == 100) {
dispose();
}
},
).then((value) {
print("response: ${value.data}");
print("%%%%%%");
}).catchError((onError) {
print(onError);
dispose();
});
}
我已经在函数内部打印了日志onSendProgress
,onReceiveProgress
但它没有显示任何日志。
任何人都可以帮助显示在 AWS 服务器上上传视频的进度吗?如果有人需要更多信息,请告诉我。