Photoswipe с base64, изображения

Я занимаюсь разработкой приложения для iPad с использованием Phonegap (Cordova-1.9.0) и jQuery Mobile 1.0.1 . Мне нужно использовать галерею изображений для моего приложения. В моем приложении. Я нашел фотогалерею photoswipe. Я снимаю изображение с камеры iPad и сохраняю как Camera.DestinationType.DATA_URL (Phonegap api). Мои изображения сохраняются как base64, типа.

Галерея изображений Photoswipe работает нормально, когда я сохраняю изображение как Camera.DestinationType.FILE_URI.

Но моя проблема в том, как я могу использовать галерею photoswipe, используя Camera.DestinationType.DATA_URL?

благодарю вас

1 ответ

Я нашел решение для аналогичной проблемы.

Я использую photoSwipe с base64 на веб-странице, и это работает следующим образом:

<li><a href="data:image/png;base64,<c:out value='${entry.imagenString}'/>"><img src="data:image/png;base64,<c:out value='${entry.imagenString}'/>"></a></li>

В атрибутах href и src я поместил строку base64 с нотацией, чтобы указать, что это base64.

Я попытаюсь использовать его в PhoneGap, но я думаю, что это должен быть тот же код.

Изменить: я проверил его в PhoneGap, и он работает.

Я использую это:

var imagesArray = data.callback.include.images;
    // images : 
    if(imagesArray && imagesArray.length > 0  && imagesArray != null && imagesArray != undefined){
        var images = imagesArray.map((item)=>{
            var link = item.trim();
            var base = link.split('base64,');
            var a = base[0];
            var b = base[1];
            return `<figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
                <a href=${a}base64,${b} itemprop="contentUrl" data-size="1024x1024">
                    <img src=${a}base64,${b} itemprop="thumbnail" alt="Image description" />
                </a>
                <figcaption itemprop="caption description">CAPTION :</figcaption>                   
            </figure>`
        })
        // building the gallery : 
        var now = new Date().getTime();
        var galleryClassName = "gal-" + shareId + "-" + commentId + "-" + now;
        var gallery = `<div class="comments-gallery ${galleryClassName} gallery" itemscope itemtype="http://schema.org/ImageGallery">
                         ${images}      
                    </div>`;
    }else { gallery = "" }

затем включите переменную галереи и затем инициализируйте ее, вызвав ее класс как

var output = `<div class="row"> ${gallery} </div>`;
 // init gallerires : 
        initPhotoSwipeFromDOM("." + galleryClassName);
Другие вопросы по тегам