titanium - 无法保存图像 Blob

标签 titanium

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

谁能看出我做错了什么以及为什么图像无法成功保存?

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;            
        }

最佳答案

试试这个代码:

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),这就是您出现错误的原因。

关于titanium - 无法保存图像 Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13707615/

相关文章:

titanium - 调用 createLabel 时设置类

ios - 无法从appcelerator中的strings.xml获取字符串

android - pubnub 推送通知 titanium android

ios - Titanium MapView 不释放内存

javascript - json 响应未在新窗口中打开

javascript - 如何在Titanium Studio的每一行上放置一个按钮?

javascript - Appcelerator/Titanium-输出整个JSON响应会损害应用程序性能吗?

iphone - Appcelerator-Ad-Hoc分发时崩溃,但使用有线连接在设备上成功运行

sqlite - 钛:SQLite数据库存储在哪里?

android - Appcelerator Titanium 国际化无法正常工作