1

node.js を使用して、webapp のサーバー部分を構築しています。これには、thetvdb.com ( thetvdbの API ドキュメント) からデータを取得することが含まれます。データは zip ファイルとして提供されます。HTTP ダウンロードは問題ありませんが、ファイルの解析は問題です。NodeJsでメモリ内のzipファイルをダウンロードして解凍する方法で提案されているように、実際にはファイルを保存することはありませんが、メモリに保持するだけです?

有効なデータを含むバッファがあります(ブラウザ/カールでファイルをダウンロードしたときと同じデータです...)。ただし、adm-zip (他の zip ライブラリにもうんざりしていて、無効な zip の長さを示唆しているものもあります) では開くことができません。エラーは表示されませんが、最後の zipEntries の長さは 0 です。バッファーをファイルシステムに書き出して、gui または cli ツールで開くと動作します。

ファイルへの直接リンクを提供することはできません。API キーが関係するためです。ただし、ここに再アップロードしました。

4

1 に答える 1

1

私はあなたに答えがあるかもしれないと思います:

に依存しないでくださいnpm install。提供したzipファイルを使用してリンクした"0"を実行したところ、の出力が得られました。

adm-zipその別のStackOverflowページで、 npmのバージョンが最新ではないというコメントを見ました。githubからの新しいコピーをadm-zip取得し、node_modulesフォルダーにあるものを上書きして、サンプルコードを再実行すると、次のようになります。

...
<Actor>
  <id>237811</id>
  <Image>actors/237811.jpg</Image>
  <Name>Peter Pratt</Name>
  <Role>The Master</Role>
  <SortOrder>3</SortOrder>
</Actor>
<Actor>
  <id>23780s/237811.jpg</Image>

それを試してみてください!

于 2012-07-30T15:36:34.833 に答える