2017-05-15 7 views
0

私はローカルのWebプロジェクトを持っています。古典的なフォルダ(css、jsなど)を持っています。javascriptを使ってローカルプロジェクトのフォルダ/ファイルを取得するには?

私はこの同じプロジェクトにjsまたはcssフォルダと同じレベルの「特別な」フォルダを持っています。この特別なフォルダはzipフォルダで、内部にはテキストファイルがいくつかあります。

私のjavascriptファイルの1つでは、この特別なフォルダの内容(テキストファイル)にアクセスする必要があります。私はJSZipを使ってこのzipファイルを読んでいます。

私はURLを使用して実行しようとしていますが、動作しません。

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

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

'<<<エラーが発生しました>>>>' - エラーメッセージには何が表示されますか? – Quentin

+0

@Quentinそれは言う: "未知(約束)のエラー:中央ディレクトリの終わりを見つけることができません:これはzipファイルですか?" – 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() { 
     // ... 
    }); 
}); 

All this is in local

"ローカル" であなたがlocalhostを意味している場合、それはいいです。 「ローカル」によってURLがfile://のURLを使用している場合は、多くのブラウザでajaxが機能せず、データの読み込みができなくなります。代わりに、ローカルWebサーバープロセス(単純なものはインストールして使用するのが簡単です)を使用し、localhostを使用してください。

+0

答えをありがとう、はい、私は "ローカル"と言うときはファイルです:// URL – Sushi

+0

@寿司:はい、いくつかのブラウザ(Firefox)は、そのようなローカルファイルにajaxを許可します。クロム)はしません。 –

+0

はい、localhostを使用している他の解決方法はどうですか? – Sushi

関連する問題