在使用下載管理器服務繼續下載之前,是否可以測試WebOS中是否存在文件?WebOS:如何測試一個文件是否存在?
默認情況下,方法「下載」將添加一個下劃線+數字,以避免覆蓋,但我想要做的是避免下載文件,如果它已經存在本地/媒體/內部/文件文件夾。 ..
我看了整個網絡,但無濟於事...... 任何線索? 謝謝!
在使用下載管理器服務繼續下載之前,是否可以測試WebOS中是否存在文件?WebOS:如何測試一個文件是否存在?
默認情況下,方法「下載」將添加一個下劃線+數字,以避免覆蓋,但我想要做的是避免下載文件,如果它已經存在本地/媒體/內部/文件文件夾。 ..
我看了整個網絡,但無濟於事...... 任何線索? 謝謝!
可能最直接的方法是使用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')
}
});
我試過了但由於某種原因,它總是返回true ...?! – 2011-03-11 17:58:16
(以及無證的「palmGetResource」調用僅適用於文本文件) – 2011-03-11 18:11:33
奇怪。我希望Ajax.request可以工作。我大概有80%確定我看到過之前完成過。一旦我的手機完成軟件更新,將立即檢查... – 2011-03-14 18:37:15
您還可以創建一個利用一個的NodeJS私人服務。
我想你問,因爲你沒有得到你想要的表現。但操作系統確實應該在訪問相同的URL時處理本地文件,而不管本地重命名。只是想說,根據我的經驗,最好不要自己做緩存或類似的事情,但看看是否有其他原因導致性能不佳。如果URL不一樣,那當然是另一回事了。 – 2011-03-11 07:23:25
我不知道我明白你的答案。讓我試着更好地解釋我想要做的事情:用戶可以聽流媒體mp3文件,如果他喜歡它,他可以點擊「下載」按鈕。事情是,我想確保如果目標目錄中已經存在具有相同文件名的文件,則下載不會發生以節省帶寬並阻止用戶下載之前已經下載的文件... – 2011-03-11 18:05:25