2017-05-15 18 views
0

로컬 폴더가있는 로컬 웹 프로젝트 (css, js 등)가 있습니다.javascript를 사용하여 로컬 프로젝트에서 폴더/파일을 가져 오는 방법은 무엇입니까?

동일한 프로젝트에 js 또는 css 폴더와 동일한 수준의 "특별"폴더가 있습니다. 이 특수 폴더는 단지 우편 폴더이며, 그 안에는 몇 가지 텍스트 파일이 있습니다.

내 자바 스크립트 파일 중 하나에서이 특수 폴더의 내용 (일부 텍스트 파일)에 액세스해야합니다. JSZip을 사용하여이 zip 파일을 읽습니다.

URL을 사용하여 수행하려고하지만 작동하지 않습니다.

var zip = new JSZip(); 
var specialFolder = "starter/special.zip"; 

zip.loadAsync(specialFolder).then(function(zip){ 
    <<< ERROR HERE >>>> 
}); 
+2

'<<< 여기 ERROR HERE >>>>'- 그리고 오류 메시지는 무엇을 말합니까?! – Quentin

+0

@Quentin 그것은 말합니다 : "Uncaught (약속 있음) 오류 : 중앙 디렉토리의 끝을 찾을 수 없습니다.이 파일입니까?" – Sushi

+0

서버에 있습니까? – evolutionxbox

답변

1

파일 이름을 Zip 콘텐츠로 전달합니다. loadAsync's document은 파일 이름이 아닌 콘텐츠을 전달해야 함을 보여줍니다.

read a file exampleJSZipUtils.getBinaryContent을 통해 내용을로드 한 다음 loadAsync로 전달 :

JSZipUtils.getBinaryContent('path/to/content.zip', function(err, data) { 
    if(err) { 
     throw err; // or handle err 
    } 

    JSZip.loadAsync(data).then(function() { 
     // ... 
    }); 
}); 

당신의 코멘트를 다시 : 당신이 localhost을 의미

All this is in local

"로컬"에 의한 경우, 괜찮아. "local"에 의해 URL이 file:// 인 경우 많은 브라우저에서 ajax가 작동하지 않고 데이터를로드 할 수 없습니다. 대신 로컬 웹 서버 프로세스 (간단한 것은 설치하고 사용하기 쉽습니다)를 사용하고 localhost을 사용하십시오.

+0

답변을 주셔서 감사합니다. 예, "로컬"이라고 말하면 파일 : // URL – Sushi

+0

@ 스시 : 그래, 일부 브라우저 (파이어 폭스)는 아약스가 그런 식의 로컬 파일을 허용합니다. Chrome). –

+0

예, localhost를 사용하는 다른 해결책은 없습니까? – Sushi