2011-03-10 4 views
1

다운로드 관리자 서비스를 사용하여 다운로드를 진행하기 전에 WebOS에 파일이 있는지 테스트 할 수 있습니까?WebOS : 파일이 있는지 테스트하는 방법은 무엇입니까?

기본적으로 "다운로드"방법은 덮어 쓰기를 피하기 위해 밑줄 + 숫자를 추가하지만, 내가하려는 것은 파일이 로컬/미디어/내부/파일 폴더에 이미있는 경우 다운로드하지 않는 것입니다. ..

나는 웹상에서 보았지만 아무 소용이 없었다. 실마리? 감사합니다.

+0

원하는 성능을 얻지 못했기 때문에 물어 본 것 같습니다. 그러나 OS는 로컬 이름 바꾸기와 상관없이 동일한 URL에 액세스 할 때 로컬 파일을 제공해야합니다. 내 경험에 따르면 캐싱이나 비슷한 일을하지 않는 것이 좋지만 퍼포먼스가 나쁜 이유가 있는지 확인하고 싶습니다. URL이 동일하지 않다면 물론 다른 문제입니다. –

+0

답변을 잘 모르겠습니다. 내가 무엇을하려고하는지 더 잘 설명하려고 노력하자. 사용자는 스트리밍 mp3 파일을들을 수 있으며, 좋아하는 경우 "다운로드"버튼을 클릭 할 수있다. 문제는 동일한 파일 이름의 파일이 대상 디렉토리에 이미 있으면 대역폭을 절약하고 이미 다운로드 한 파일을 다운로드하지 못하도록 다운로드가 수행되지 않는다는 것입니다. –

답변

2

아마 가장 직접적인 방법은 Ajax 요청을 사용하여 파일을 읽는 것입니다. http://forums.precentral.net/web-os-development/196320-how-parse-text-file-pres-file-system-into-app.html

파일을 읽을 수 없으면 아직 다운로드되지 않은 것입니다.


편집은 1.4 릴리스 노트 웹 OS에서 다음과 같은 추가 :

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') 
    } 
}); 
+0

나는 시도했습니다. 그것은 어떤 이유로 든 항상 사실을 반환합니다 ...?! –

+0

(문서화되지 않은 "palmGetResource"호출은 텍스트 파일에만 해당) –

+0

이상 함. 나는 Ajax.request가 작동 할 것으로 기대했을 것이다. 나는 이전에 한 일을 80 % 확신합니다. 휴대 전화가 소프트웨어 업데이트를 완료하면 바로 확인합니다 ... –

관련 문제