Как загрузить изображение из папки assets приложения с помощью Capacitor, чтобы оно было доступно в приложении Photos в iOS

#ios #angular #ionic-framework #capacitor

#iOS #angular #ionic-framework #конденсатор

Вопрос:

Я хочу, чтобы пользователь мог загружать изображения из папки проекта /assets во внешнюю общедоступную папку. Это отлично работает на Android, но в iOS все сохраняется в каталоге уникальных идентификаторов приложения, поэтому не уверен, возможно ли это. По сути, я хочу, чтобы пользователь сохранял фотографию из приложения, а затем мог легко открывать ее из приложения Photos по умолчанию для своего телефона.

С помощью последнего photoPath параметра в приведенном ниже коде я могу отобразить изображение в <img теге с помощью DomSanitizer. Хотя все еще не уверен, как сделать файл доступным в системе пользователя из-за пределов приложения.

         this.http.get('/assets/img/'   item.img, { responseType: 'blob' })
            .subscribe(res => {
                const reader = new FileReader();
                reader.onloadend = () => {
                    var base64data = reader.result;

                    await Filesystem.appendFile({
                        data: base64data.toString(),
                        path: item.file,
                        directory: FilesystemDirectory.Documents
                    })

                    const finalPhotoUri = await Filesystem.getUri({
                            directory: FilesystemDirectory.Documents,
                            path: item.file
                        });

                        let photoPath = Capacitor.convertFileSrc(finalPhotoUri.uri);
                        console.log("Photo Path: ", photoPath);

                }

                reader.readAsDataURL(res);
                console.log(res);
            });
        
    
  

Комментарии:

1. Вам нужен плагин для записи в галерее