如何将imageView.image转换为TiBlob对象?

时间:2015-04-20 07:58:33

标签: javascript ios titanium photo-gallery

我想在照片库中保存图片 这是我的代码

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 个答案:

答案 0 :(得分:2)

试试这个,只需替换

views[scrollableView.currentPage].image

views[scrollableView.currentPage].toBlob();

希望这会对你有所帮助。

答案 1 :(得分:1)

由于缺少更具体的代码,我可以在阅读您的代码后给您一些建议。

  • 与您撰写的var views = []一样,并在views中添加对象。我认为你应该为Type定义views。与var views = [UIView]()var views = [CustomView]()
  • 相同
  • var img = Ti.UI.createImageViewimg是您要添加到object的{​​{1}},我认为可以推断views Type来自班级,views
  • TI,您应该保证image : '/images/' + i + '.jpg'的名称是正确的。例如,您确定JPG Picture是正确的名称,而不是images1.jpg吗?
  • image1.jpg,我猜views.push(img)push中的自定义函数。因为我们始终使用Ti将对象添加到append
  • 最后,您提到的错误是关于ArrayTiBlob的错误,而您的问题代码中未显示这些错误。

答案 2 :(得分:1)

您只需将views.push(img);替换为views.push(img.toBlob());即可。这应该保证您提供blob对象。然而,图像本身必须是正确的(仔细检查名称等)。