Файл записи m4a не загружается на сервер на Android FlutterAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Файл записи m4a не загружается на сервер на Android Flutter

Сообщение Anonymous »

поэтому я пытался загрузить файлы (png, pdf и т. д.) на серверную конечную точку, и это работает как на Android, так и на iOS, и в приложении есть рекордер, который возвращает файлы m4a, когда я пытаюсь загрузить файлы m4a, используя ту же функцию на iOS работает, файл загружается, но не работает на Android
Знаете, почему?
Вот код рекордера:
final recorder = Record();
record() async {
bool recording = await recorder.isRecording();
if (recording) {
String? path = await recorder.stop();
await recorder.dispose();
if (path != null) {
attachments ??= [];
File file = File(Platform.isIOS ? path.substring(7) : path);
bool fileExits = await file.exists();
if (fileExits) {
attachments?.add(file);
}
setState(() {
isRecording = false;
});
}
} else {
if (await recorder.hasPermission()) {
setState(() {
isRecording = true;
});
await recorder.start(
encoder: AudioEncoder.aacLc,
bitRate: 128000,
);
await Future.delayed(const Duration(minutes: 3), () async {
if (await recorder.isRecording()) {
String? path = await recorder.stop();
await recorder.dispose();
if (path != null) {
attachments ??= [];
File file = File(Platform.isIOS ? path.substring(7) : path);
bool fileExits = await file.exists();
if (fileExits) {
attachments?.add(file);
}
setState(() {
isRecording = false;
});
}
}
});
}
}
}

Вот функция:
static Future uploadFile(File file, String token) async {
// final fileLength = await image.length();
String? imageURL;
var request =
http.MultipartRequest('POST', Uri.parse(APIEndPoints.uploadFiles));
request.headers['Authorization'] = 'Bearer $token';
request.headers['Content-Type'] = 'application/json';
request.files.add(await http.MultipartFile.fromPath('file', file.path));
http.StreamedResponse res = await request.send();
String responseBody = await res.stream.bytesToString();
if (res.statusCode == 200) {
imageURL = '${APIEndPoints.baseUrl}/${jsonDecode(responseBody)['url']}';
}
print(res.statusCode);
print(responseBody);
return imageURL;
}


Подробнее здесь: https://stackoverflow.com/questions/774 ... id-flutter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»