Titanium无法在Android Alloy中写入文件

时间:2014-05-06 00:19:34

标签: android filesystems titanium titanium-alloy

我有这个问题,比如2周,我不知道为什么。我使用的是Ti.Paint,我希望将绘图保存到文件中,所以,这就是代码:

var paintImage=paintView.toImage().media;
    var tmpImg="paintImage.jpg";;
    var imageFile=Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, tmpImg);
    imageFile.write(paintImage);

没有发生,什么也没发生,动作说"是",但是文件不存在于Gallery,也不是手机,也不是Android / data / appDirectory,什么都没有。而且我不知道为什么。 我使用此代码将图像从相机保存到图库并完美无缺:

success:function(event)
    {
        tmpImg="prueba.jpg";
        var imageFile=Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, tmpImg);
        imageFile.write(event.media);
    },

那么,任何人都可以帮忙吗?因为我不知道为什么这不起作用。

使用

Titanium SDK 3.2.2GA with Alloy
Titanium Studio, build: 3.2.3.201404181442
MacbookPro 2012 with OSX Maverick
Device: Motorola XT910

2 个答案:

答案 0 :(得分:0)

我认为这在Titanium 3.3.0中得到修复,并且与mimeType未正确设置的问题有关(https://jira.appcelerator.org/browse/TIMOB-15746)尝试更新并确保将Titanium SDK更改为3.3。 tiapp.xml中的0。

答案 1 :(得分:0)

在android中,你最好将文件保存在Ti.Filesystem.externalStorageDirectory文件夹中,你可以尝试下面的示例代码:

var imageFile = Ti.Filesystem.getFile(Ti.Filesystem.externalStorageDirectory, "paintImage.jpg");
if(!imageFile.exists()) {
     imageFile.write(event.media);
}