javascriptでzip圧縮する
zip.jsというライブラリがあるようで、
それを使おう。使い方を調べなくては・・・ http://gildas-lormeau.github.io/zip.js/
でも、なんだか使い方が難しそうなのでgzipにしてみよう
https://github.com/ukyo/jsziptools
うーん。これもどうもblobデータからの圧縮がうまくいかないなぁ。
JSZipというライブラリもあるらしい。こっちにしてみるか・・・(これが本命?)
compression - Compressing a blob in javascript - Stack Overflow
変数blobのデータをzip圧縮してサーバに送るコード。 FileReaderでネストが1段深くなるのがなぁ・・ Promise使ってうまく書けると思うのですが。
var arrayBuffer; var fileReader = new FileReader(); fileReader.onload = function() { arrayBuffer = this.result; var zip = new JSZip(); zip.file("audio.wav", arrayBuffer, {binary:true}); var content = zip.generate({type:"blob"}); var formData = new FormData(); formData.append("audio",content,"audio.zip"); $.ajax({ type: "post", url: "/upload", data : formData, processData: false, contentType: false, dataType: 'json', success: function(data){ console.log("ok"); }, error: function(){ console.log("failed"); } }); }; fileReader.readAsArrayBuffer(blob);