2

ユーザーが圧縮ファイルをアップロードした後、ネットワーク経由で送信する前に画像フォルダーを削除したいと考えています。アップロードに剣道を使用していますが、既存の機能は正常に動作します。画像の削除部分を追加したいだけです。これは私がこれまでに持っているものです:

   function onSelect(e) {
        var file = e.files[0];
        if (endsWith(file.name, '.eds')) {
            var contents = e.target.result;
            var jszip = new JSZip(contents);
            jszip.remove("apldbio/sds/images_barcode");
            fileToSend = jszip.generate({type: "base64", compression: "DEFLATE"});
        }
        e.files[0] = fileToSend;
        openProgressDialog(e.files.length); //this is existing code, works fine
    }

target.resultイベントには存在しないようですe。そして、その時点から何も正しく機能しません。eおそらく FileReader オブジェクトの onload() 内で使用する必要があります (こちらこちらを参照)。

編集:
私はさらにいくつかの読書をしましたが、今は次のように FileReader を使用しています:

    var reader = new FileReader();
    reader.onload = function (e) {
        // do the jszip stuff here with e.target.result
    };
    reader.onerror = function (e) {
        console.error(e);
    };  
    reader.readAsArrayBuffer(file);

注 :file = e.files[0]最初のコード ブロックと同様。しかし、これで、私はエラーが発生します:

Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1 is not of type 'Blob'.

4

0 に答える 0