問題タブ [jszip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Jszip と jquery の問題
誰かがチェックボックスを使用してファイルをダウンロードしている間に、サーバーから.exeファイルを圧縮することを実現したいのですが、それは重要ではありません。jszip の仕組みを理解しようとしています。しかし、いくつかの問題があります。ダウンローダーの例が正しく機能しません。https://stuk.github.io/jszip/documentation/examples/downloader.htmlから例を取り、スタイルやリンクなどの余分な機能をいくつか削除します。ブロックを除いて、ほとんどすべてが正しく実行されます:
JSZipUtils.getBinaryContent(url, function ( err, data) {..}
- このセクションは実行されません。エラーが発生します:
"エラー: InvalidStateError: 'XMLHttpRequest' から 'responseText' プロパティを読み取れませんでした: オブジェクトの 'responseType ' is" または 'text'(was'arraybuffer')。
また、別の質問があります。スクリプト「demo.js」をヘッダー セクションに配置すると、ボタンを押してもスクリプトが実行されません。スクリプトはサイズが小さく、ヘッダーの読み込みが本文よりも速いため、ダウンロードする必要があります。スクリプトを含める最良の方法は、タグを閉じる前に、本文の最後に配置することです。しかし、すべてのスクリプトを本文の最後に配置すると、ボタンを押しても何も起こりません。なぜそのように機能するのですか?多くの記事を赤字にしましたが、答えが見つかりません。私はJSが初めてなので、私を激しく殴らないでください)。助けや提案をいただければ幸いです。
これは私の 1.html ファイルです:
ここにdemo.jsがあります:
ファイルを含む私のファイルフォルダーは次のようになります。
- -ルートフォルダ:
- 1.html
- サブフォルダー「dist」:
- デモ.js
- FileSaver.js
- jquery-1.8.3.min.js
- jszip.js
- jszip-utils.js
- サブフォルダー「dist」:
- 1.html
javascript - ダウンロード用にサーバーから Excel ファイルを zip します。
jszip.js を使用して、クリック時に zip ファイルとして一緒にダウンロードする必要があるサーバーから複数の Excel ファイルをバンドルしようとしています。
デモ スクリプトを置き換えようとすると、zip ファイルを作成できますが、空です。
zip.file に 2 つのファイルを入れると、最初のファイルが zip に表示されますが、破損しています。お気に入り:
したがって、ファイルの名前をファイルの場所よりも最初の位置に配置する必要がありますが、別の方法でアクセスする必要はありません...
APIの仕組みをチェックしていないだけだと思います。
サーバーでホストされている少なくとも 2 つのファイルの例を取得することは素晴らしいことです...
javascript - JSZip は base64 文字列から zip をロードしませんか?
そのため、ユーザーがページ上のアイテムを変更すると、URL に小さな JSON オブジェクトを書き込もうとしています。また、URL を読み取って、ユーザーが中断したところから再開できるようにします。
JSZip で zip をうまく生成できますが、後でその文字列から zip を開く方法がわかりません。これが私が使用していたコードです。zip.file には要素がありますが、base64 文字列を zip2 に読み込んで開く方法がわかりません。