无法保存图像Blob

时间:2012-12-04 16:40:00

标签: titanium

我正在尝试将图片从照片库保存到本地存储,以便我可以跨应用程序会话加载图像。一旦用户完成选择图像,就执行以下逻辑。在模拟器上,我看到错误消息被写入日志。即使我看到错误消息我认为图像仍然保存在模拟器中,因为当我重新启动应用程序时,我能够加载保存的图像。当我在设备上运行它时,我仍然会收到您在下面的代码中看到的错误消息,并且加载了默认背景,表明写入不成功。

任何人都可以看到我做错了什么以及为什么图像无法成功保存?

var image = i.media.imageAsResized(width, height);
backgroundImage.image = image;      
function SaveBackgroundImage(image)
        {
            var file = Ti.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory,W.CUSTOM_BACKGROUND);
            if(file.write(image, false))
            {
                W.analytics.remoteLog('Success Saving Background Image');
            }
            else
            {
                W.analytics.remoteLog('Error Saving Background Image');
            }
            file = null;            
        }

1 个答案:

答案 0 :(得分:4)

试用此代码:

var parent = Titanium.Filesystem.getApplicationDataDirectory();
var f = Titanium.Filesystem.getFile(parent, 'image_name.png');
f.write(image);
Ti.API.info(f.nativePath); // it will return the native path of image

在您的代码中,我没有给出图像类型(png / jpeg),这就是为什么会出现错误。