Как конвертировать 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
который вы не показали в своем коде для вопроса.