Как конвертировать imageView.image в объект TiBlob?

Я пытаюсь сохранить изображение в фотогалерее, вот мой код

var views = [];
for (var i = 1; i <= 100; i++) {
    var img = Ti.UI.createImageView({
        image : '/images/' + i + '.jpg'
    });
    views.push(img);
}
scrollableView.setViews(views);

и на кнопку сохранения

Ti.Media.saveToPhotoGallery(views[scrollableView.currentPage].image, {
    success : function() {
        alert('success');
    },
    error : function(e) {
        alert(e.error);
    }
});

это дает ошибку как

invalid media type: Exepcted either TiBlob or TiFile, was: String

3 ответа

Решение

Попробуй это, просто замени

views[scrollableView.currentPage].image

с

views[scrollableView.currentPage].toBlob();

Надеюсь, что это поможет вам.

Вы можете просто заменить views.push(img); с views.push(img.toBlob());, Это должно гарантировать, что вы предоставите объект BLOB-объекта. Тем не менее само изображение должно быть правильным (перепроверить имя и т. Д.).

Из-за отсутствия более конкретных кодов я могу дать вам несколько советов после прочтения вашего кода.

  • Как то, что вы написали как var views = []и вы добавляете объекты в views, Я думаю, что вы должны определить Type за views, подобно var views = [UIView]() или же var views = [CustomView]()
  • var img = Ti.UI.createImageView, img это object ты собираешься добавить в views, Я думаю Type из views могут быть выведены из класса,TI,
  • image : '/images/' + i + '.jpg', вы должны гарантировать имя JPG Pictureверно. Например, вы уверены, что images1.jpg правильное имя, а не image1.jpg?
  • views.push(img)Я думаю, push это пользовательская функция в Ti, Потому что мы всегда используем append добавить объект в Array,
  • Наконец, ваша ошибка упоминается о TiBlob а также TiFile который вы не показали в своем коде для вопроса.
Другие вопросы по тегам