add better mime detection
This commit is contained in:
@@ -5,6 +5,7 @@ import 'package:flutter/cupertino.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart';
|
import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart';
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
|
import 'package:mime/mime.dart';
|
||||||
import 'package:stream_chat/stream_chat.dart';
|
import 'package:stream_chat/stream_chat.dart';
|
||||||
import 'package:stream_chat_flutter/src/message_list_view.dart';
|
import 'package:stream_chat_flutter/src/message_list_view.dart';
|
||||||
import 'package:stream_chat_flutter/src/stream_chat_theme.dart';
|
import 'package:stream_chat_flutter/src/stream_chat_theme.dart';
|
||||||
@@ -636,13 +637,14 @@ class _MessageInputState extends State<MessageInput> {
|
|||||||
});
|
});
|
||||||
|
|
||||||
String url;
|
String url;
|
||||||
|
final filename = file.path.split('/').last;
|
||||||
|
|
||||||
if (type == FileType.image) {
|
if (type == FileType.image) {
|
||||||
final res = await channel.sendImage(
|
final res = await channel.sendImage(
|
||||||
MultipartFile.fromBytes(
|
MultipartFile.fromBytes(
|
||||||
bytes,
|
bytes,
|
||||||
filename: file.path.split('/').last,
|
filename: filename,
|
||||||
contentType: MediaType.parse('image/jpeg'),
|
contentType: MediaType.parse(lookupMimeType(filename)),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
url = res.file;
|
url = res.file;
|
||||||
@@ -650,7 +652,8 @@ class _MessageInputState extends State<MessageInput> {
|
|||||||
final res = await channel.sendFile(
|
final res = await channel.sendFile(
|
||||||
MultipartFile.fromBytes(
|
MultipartFile.fromBytes(
|
||||||
bytes,
|
bytes,
|
||||||
filename: file.path.split('/').last,
|
filename: filename,
|
||||||
|
contentType: MediaType.parse(lookupMimeType(filename)),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
url = res.file;
|
url = res.file;
|
||||||
|
|||||||
@@ -1035,7 +1035,9 @@ class _MessageWidgetState extends State<MessageWidget>
|
|||||||
}
|
}
|
||||||
|
|
||||||
return FutureBuilder<void>(
|
return FutureBuilder<void>(
|
||||||
future: videoController.initialize(),
|
future: videoController.value.initialized
|
||||||
|
? Future.value(true)
|
||||||
|
: videoController.initialize(),
|
||||||
builder: (_, snapshot) {
|
builder: (_, snapshot) {
|
||||||
if (snapshot.connectionState != ConnectionState.done) {
|
if (snapshot.connectionState != ConnectionState.done) {
|
||||||
return Container(
|
return Container(
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ dependencies:
|
|||||||
image_picker: ^0.6.4
|
image_picker: ^0.6.4
|
||||||
flutter_keyboard_visibility: ^0.8.0
|
flutter_keyboard_visibility: ^0.8.0
|
||||||
stream_chat: ^0.2.0-alpha
|
stream_chat: ^0.2.0-alpha
|
||||||
|
mime: ^0.9.6+3
|
||||||
visibility_detector: ^0.1.4
|
visibility_detector: ^0.1.4
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
|
|||||||
Reference in New Issue
Block a user