2011-05-07 4 views
2

아래 코드를 사용하여 파일을 다운로드 중입니다. 나는 당신에게 사용자의 컴퓨터에 대한 액세스 권한을 부여하지, 당신은jquery를 사용하여 폴더 만들기

+0

클라이언트 OS에 폴더를 만드시겠습니까? –

답변

3

번호 자바 스크립트가 브라우저 내에서 샌드 박스입니다 감사합니다 requiredKeyWords

$.each(requiredCities,function(keya,valb){ 
     $.each(requiredKeyWords,function(keyc,vald){ 
      var timerId = setInterval(function(){ 
      download(...); 
      clearInterval(timerId); 
      }, 4000*(i++));  
     }); 
    }); 
}); 

function download(url){ 
    ... 
} 

의 각 범주에 대한 각 폴더에 동적으로 폴더와 다운로드 파일을 만들 수 있습니다.

정말 좋습니다. 모든 Joe와 Jill이 컴퓨터에서 자동으로 작성, 이동, 읽기 및 변경할 수 있다고 상상해보십시오. 그것은 막대한 보안상의 위험이 될 수 있습니다.

+0

모두 사실이 아닙니다. 브라우저는 사용자가 수락하기 때문에 항상 다운로드를 할 수 있습니다. 질문에서 우리는 OP가 사용자 컴퓨터에 특정 폴더를 만들 수있는 방법을 찾지는 못하지만 반드시 브라우저에서 다운로드를 시작할 수 있습니다. –

+0

@ ErickPetru - 그는 물론 다운로드 할 수 있지만 폴더를 만들고 다운로드 한 파일을 파일에 저장하도록 요청했습니다. – Zirak

0

IE에서는 ActiveX를 사용할 수 있지만 다른 브라우저에서는 사용할 수 없습니다.

http://www.codeproject.com/KB/scripting/JavaScript__File_Handling.aspx

"주의해야 할 몇 가지 이후는 가 클라이언트 시스템의 보안 수준이 높은 경우 생성되지 않습니다 ActiveX 객체. 너무. FileSystemObject를 구현 전에 있습니다 액티브 X 객체가 을 할 수 있도록 웹 사이트 는 신뢰할 수있는 사이트 목록에 추가 할 필요가 만들었습니다.

사용자는에 쓰기 권한이 있어야합니다파일을 만드는 동안 경로가 지정되었습니다. 의 불확실성이있는 경우 파일을 임시 폴더에 쓰는 것이 좋습니다. Temp 폴더에 대한 경로는

2

당신은 jQuery를 (ajax() 또는 post() 방법 등)를 사용하여 요청을하고 파일 내용과 원하는 헤더와 HttpResponse를 얻을 수 있습니다 "사용 를 찾을 수 있습니다. 물론 당신이거야 HttpRequest를 수신하고 HttpResponse.

그런 다음, 브라우저 다운로드 등이 응답을 차단합니다 반환하는 서버 측 기술 (ASP.NET, 자바, PHP 등)가 필요합니다.

또한, URL을 파일로 간단히 리다이렉트 할 수 있습니다.이 게시물에서 가리키는 것처럼 수동 게시물이 없습니다 : Download File Using jQuery. 이 경우 브라우저가 요청을하고 응답을 읽고 다운로드로 해석합니다.

그러나 사용자가 파일 (또는 이름)을 저장할 위치를 지정할 수 없습니다. 또한 사용자는 항상 다운로드를 취소 할 수 있습니다. 마지막으로 다운로드를 거부하도록 브라우저의 보안을 구성 할 수 있습니다.

마지막으로 브라우저에 시간당 다운로드 창이 표시된다는 것을 기억하는 것이 중요합니다. 그런 다음 동시에 10 다운로드를 시작할 수 없습니다. Gmail을 사용하십니까? 거기에서 볼 수 있듯이 사용자가 동시에 모든 첨부 파일을 다운로드하려는 경우 Gmail은 모든 파일이 포함 된 ZIP 파일을 만들고 ZIP 파일을 다운로드합니다. 이것은 더 나은 자동화 된 방법이지만, 원하는 것은 아닙니다.

1

다행히도 아니요. 웹 브라우저에서 실행될 때 javascript는 파일 시스템에 액세스 할 수 없습니다. 그것은 거대한 보안 구멍이 될 것입니다. 할 수있는 유일한 방법은 ActiveX 컨트롤 또는 Java 애플릿을 사용하는 것입니다. 두 옵션 모두 악합니다.

관련 문제