'Я использую пакет Flutter Saver_gallery, чтобы сохранить изображения в моей телефонной галерее как на iOS, так и на Android. Я использую пакет сборщика изображений, чтобы взять изображение с помощью камеры. Когда я сохраняю изображение в своем приложении, я вижу, что оно находится в галерее на телефоне Android, но оно не удается на устройстве iOS. Кроме того, если я снова открою приложение на устройстве iOS, и я не могу увидеть это изображение и в своем приложении. '< /P>
Future checkAndRequestPermissions({required bool skipIfExists}) async
{
if (!Platform.isAndroid && !Platform.isIOS)
{
return false; // Only Android and iOS platforms are supported
}
if (Platform.isAndroid) {
final deviceInfo = await DeviceInfoPlugin().androidInfo;
final sdkInt = deviceInfo.version.sdkInt;
if (skipIfExists) {
// Read permission is required to check if the file already exists
return sdkInt >= 33
? await Permission.photos.request().isGranted
: await Permission.storage.request().isGranted;
} else {
// No read permission required for Android SDK 29 and above
return sdkInt >= 29 ? true : await Permission.storage.request().isGranted;
}
} else if (Platform.isIOS) {
// iOS permission for saving images to the gallery
return skipIfExists
? await Permission.photos.request().isGranted
: await Permission.photosAddOnly.request().isGranted;
}
return false; // Unsupported platforms
}
Future saveImageToGallery(File imageFile, String imageName, {bool skipIfExists = false}) async{
final hasPermissions = await checkAndRequestPermissions(skipIfExists: skipIfExists);
if(!hasPermissions){
print("Permission Denied");
return;
}
final savedImage = await SaverGallery.saveFile(
filePath: imageFile.path,
fileName: "$imageName.jpg",
androidRelativePath: "Pictures/my_app",
skipIfExists: skipIfExists);
if(savedImage.isSuccess == true) {
print(imageFile.path);
} else{
print("Failed");
}
}
/* This is my function to take an image using camersa*/
Future addImageFromCamera() async {
final pickedImage = await imagePick.pickImage(source: ImageSource.camera);
return pickedImage != null ? File(pickedImage.path) : null;
}
< /code>
'Это мой код для того же. Я использую тот же код, который они использовали на странице Pub.DEV пакета saver_gallery, только я использую файл вместо байтов изображения. Я считаю, что изображение временно сохраняется, и оно удалено позже, поэтому я не вижу его в приложении. Если кто -то сможет помочь мне с этим, это было бы очень полезно. Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/797 ... in-flutter
Как сохранить изображения в телефонную галерею на устройстве iOS в Flutter? ⇐ IOS
Программируем под IOS
1755253110
Anonymous
'Я использую пакет Flutter Saver_gallery, чтобы сохранить изображения в моей телефонной галерее как на iOS, так и на Android. Я использую пакет сборщика изображений, чтобы взять изображение с помощью камеры. Когда я сохраняю изображение в своем приложении, я вижу, что оно находится в галерее на телефоне Android, но оно не удается на устройстве iOS. Кроме того, если я снова открою приложение на устройстве iOS, и я не могу увидеть это изображение и в своем приложении. '< /P>
Future checkAndRequestPermissions({required bool skipIfExists}) async
{
if (!Platform.isAndroid && !Platform.isIOS)
{
return false; // Only Android and iOS platforms are supported
}
if (Platform.isAndroid) {
final deviceInfo = await DeviceInfoPlugin().androidInfo;
final sdkInt = deviceInfo.version.sdkInt;
if (skipIfExists) {
// Read permission is required to check if the file already exists
return sdkInt >= 33
? await Permission.photos.request().isGranted
: await Permission.storage.request().isGranted;
} else {
// No read permission required for Android SDK 29 and above
return sdkInt >= 29 ? true : await Permission.storage.request().isGranted;
}
} else if (Platform.isIOS) {
// iOS permission for saving images to the gallery
return skipIfExists
? await Permission.photos.request().isGranted
: await Permission.photosAddOnly.request().isGranted;
}
return false; // Unsupported platforms
}
Future saveImageToGallery(File imageFile, String imageName, {bool skipIfExists = false}) async{
final hasPermissions = await checkAndRequestPermissions(skipIfExists: skipIfExists);
if(!hasPermissions){
print("Permission Denied");
return;
}
final savedImage = await SaverGallery.saveFile(
filePath: imageFile.path,
fileName: "$imageName.jpg",
androidRelativePath: "Pictures/my_app",
skipIfExists: skipIfExists);
if(savedImage.isSuccess == true) {
print(imageFile.path);
} else{
print("Failed");
}
}
/* This is my function to take an image using camersa*/
Future addImageFromCamera() async {
final pickedImage = await imagePick.pickImage(source: ImageSource.camera);
return pickedImage != null ? File(pickedImage.path) : null;
}
< /code>
'Это мой код для того же. Я использую тот же код, который они использовали на странице Pub.DEV пакета saver_gallery, только я использую файл вместо байтов изображения. Я считаю, что изображение временно сохраняется, и оно удалено позже, поэтому я не вижу его в приложении. Если кто -то сможет помочь мне с этим, это было бы очень полезно. Заранее спасибо.
Подробнее здесь: [url]https://stackoverflow.com/questions/79736325/how-to-save-images-to-the-phone-gallery-on-an-ios-device-in-flutter[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия