WebOS:如何测试文件是否存在?

时间:2011-03-10 17:15:00

标签: webos

在使用下载管理器服务继续下载之前,是否可以测试WebOS中是否存在文件?

默认情况下,“download”方法会添加下划线+数字以避免覆盖,但我要做的是避免下载文件(如果文件已存在于local / media / internal / files文件夹中)。

我看了整个网络,但无济于事...... 任何线索? 谢谢!

2 个答案:

答案 0 :(得分:2)

可能最直接的方法是使用Ajax请求尝试读取文件。 http://forums.precentral.net/web-os-development/196320-how-parse-text-file-pres-file-system-into-app.html

如果您无法阅读该文件,则显然尚未下载。


编辑以从webOS 1.4发行说明中添加以下内容:

对于Ajax.Request,如果请求的文件不存在,请求将不再获得“404”,这被视为失败,而是“0”,这被视为成功。您需要修改代码,以便为不存在的文件查找transport.status为0,或者为文件查找200。有关详细信息,请参阅the Mozilla documentation。例如:

new Ajax.Request('/media/internal/my.file', {
    method: 'get',
    onSuccess: function(transport) {
        //This is new for 1.4, we have to check the status of 
        //the transport object to see if the file exists or not.
        if (transport.status == 200)
            Mojo.Log.info('200 = http ok, file exists')
        else if (transport.status == 0)
            Mojo.Log.info('0 = response was empty, file does not exist')
    },
    onFailure: function(transport) {
        Mojo.Log.info('In 1.3.5 if the file didn’t exist the request would return here')
    }
});

答案 1 :(得分:0)

您还可以创建利用NodeJS的私有服务。

http://nodejs.org/docs/v0.3.1/api/fs.html#fs.statSync