mirror of
https://github.com/Linloir/Simple-TCP-Client.git
synced 2025-12-17 00:38:11 +08:00
Update MD5 Calc
- Calculate md5 asynchronously
This commit is contained in:
parent
84fe935fcd
commit
3c6b5d64e3
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author : Linloir
|
||||
* @Date : 2022-10-11 10:30:05
|
||||
* @LastEditTime : 2022-10-14 23:53:18
|
||||
* @LastEditTime : 2022-10-18 14:20:02
|
||||
* @Description :
|
||||
*/
|
||||
|
||||
@ -89,6 +89,6 @@ class Message extends JSONEncodable {
|
||||
'content': _content,
|
||||
'timestamp': _timestamp,
|
||||
'md5encoded': _contentmd5,
|
||||
'filemd5': payload?.filemd5
|
||||
'filemd5': payload?.filemd5 ?? _filemd5
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,13 +1,15 @@
|
||||
/*
|
||||
* @Author : Linloir
|
||||
* @Date : 2022-10-11 10:56:02
|
||||
* @LastEditTime : 2022-10-18 11:27:15
|
||||
* @LastEditTime : 2022-10-18 14:35:25
|
||||
* @Description : Local Service Repository
|
||||
*/
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:convert/convert.dart';
|
||||
import 'package:crypto/crypto.dart';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
@ -114,9 +116,15 @@ class LocalServiceRepository {
|
||||
);
|
||||
if (filePickResult == null) return null;
|
||||
var file = File(filePickResult.files.single.path!);
|
||||
var md5Output = AccumulatorSink<Digest>();
|
||||
ByteConversionSink md5Input = md5.startChunkedConversion(md5Output);
|
||||
await for(var bytes in file.openRead()) {
|
||||
md5Input.add(bytes);
|
||||
}
|
||||
md5Input.close();
|
||||
return LocalFile(
|
||||
file: file,
|
||||
filemd5: md5.convert(await file.readAsBytes()).toString()
|
||||
filemd5: md5Output.events.single.toString()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author : Linloir
|
||||
* @Date : 2022-10-11 11:02:19
|
||||
* @LastEditTime : 2022-10-14 15:12:02
|
||||
* @LastEditTime : 2022-10-18 14:11:36
|
||||
* @Description :
|
||||
*/
|
||||
|
||||
@ -185,7 +185,7 @@ class FetchMessageResponse extends TCPResponse {
|
||||
FetchMessageResponse({
|
||||
required Map<String, Object?> jsonObject
|
||||
}): super(jsonObject: jsonObject) {
|
||||
_messages = ((jsonObject['body'] as Map<String, Object?>)['messages'] as List)
|
||||
_messages = (((jsonObject['body'] as Map<String, Object?>?) ?? {'messages': []})['messages'] as List)
|
||||
.map((e) => Message.fromJSONObject(jsonObject: e)).toList();
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user