File tree Expand file tree Collapse file tree 1 file changed +34
-13
lines changed Expand file tree Collapse file tree 1 file changed +34
-13
lines changed Original file line number Diff line number Diff line change @@ -562,24 +562,45 @@ export default {
562
562
.child (messageId)
563
563
.child (` ${ file .name } .${ type} ` )
564
564
565
- await uploadFileRef .put (file .blob , { contentType: type })
566
- const url = await uploadFileRef .getDownloadURL ()
565
+ const uploadTask = uploadFileRef .put (file .blob , {
566
+ contentType: type
567
+ })
567
568
568
- const messageDoc = await messagesRef (roomId)
569
- .doc (messageId)
570
- .get ()
569
+ uploadTask .on (
570
+ ' state_changed' ,
571
+ snap => {
572
+ const progress = Math .round (
573
+ (snap .bytesTransferred / snap .totalBytes ) * 100
574
+ )
575
+ this .updateFileProgress (messageId, progress)
576
+ },
577
+ _error => {},
578
+ async () => {
579
+ const url = await uploadTask .snapshot .ref .getDownloadURL ()
571
580
572
- const files = messageDoc .data ().files
581
+ const messageDoc = await messagesRef (roomId)
582
+ .doc (messageId)
583
+ .get ()
573
584
574
- files .forEach (f => {
575
- if (f .url === file .localUrl ) {
576
- f .url = url
585
+ const files = messageDoc .data ().files
586
+
587
+ files .forEach (f => {
588
+ if (f .url === file .localUrl ) {
589
+ f .url = url
590
+ }
591
+ })
592
+
593
+ await messagesRef (roomId)
594
+ .doc (messageId)
595
+ .update ({ files })
577
596
}
578
- })
597
+ )
598
+ },
579
599
580
- await messagesRef (roomId)
581
- .doc (messageId)
582
- .update ({ files })
600
+ updateFileProgress (messageId , progress ) {
601
+ const message = this .messages .find (message => message ._id === messageId)
602
+ message .files [0 ].progress = progress
603
+ this .messages = [... this .messages ]
583
604
},
584
605
585
606
formattedFiles (files ) {
You can’t perform that action at this time.
0 commit comments