【问题标题】:how to convert imageView.image to TiBlob object?如何将 imageView.image 转换为 TiBlob 对象?
【发布时间】:2015-04-20 07:58:33
【问题描述】:

我正在尝试将图片保存在照片库中 这是我的代码

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

【问题讨论】:

    标签: javascript ios titanium photo-gallery


    【解决方案1】:

    试试这个,直接替换

    views[scrollableView.currentPage].image
    

    views[scrollableView.currentPage].toBlob();
    

    希望这会对你有所帮助。

    【讨论】:

      【解决方案2】:

      由于缺乏更具体的代码,我只能在阅读您的代码后给您一些建议。

      • 就像你写的var views = []一样,你在views中添加对象。我认为您应该为views 定义Type。喜欢var views = [UIView]()var views = [CustomView]()
      • var img = Ti.UI.createImageViewimg 是你要添加到viewsobject,我认为viewsType 可以从类中推断出来,TI
      • image : '/images/' + i + '.jpg',你应该保证JPG Picture的名字是正确的。例如,您确定 images1.jpg 是正确的名称,而不是 image1.jpg
      • views.push(img),我猜pushTi 中的自定义函数。因为我们总是使用append 将对象添加到Array
      • 最后,您提到的关于 TiBlobTiFile 的错误未在您的问题代码中显示。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-02-27
          • 2018-02-13
          • 2011-05-26
          • 2017-10-20
          • 2015-03-18
          • 1970-01-01
          • 2010-12-12
          相关资源
          最近更新 更多