2017-01-04 353 views
0

ここに私のコードです。私はzipファイルをダウンロードできますが、今はjavascript/jqueryを使ってパスワードを設定したいと思います。Jqueryを使用してzipファイルにパスワードを設定する方法

function saveAsZip(fileContents, fileName) { 

    var zip = new JSZip(); 
    zip.file(fileName, fileContents); 
    var content = zip.generate(); 
    var link = document.createElement('a'); 
    var linkName = fileName.replace('.XML', '') 
    link.download = linkName + '.zip'; 
    link.href = "data:application/zip;base64," + content; 
    link.click(); 

} 
+0

http://www.pageresource.com/jscript/jpass.htmの – brk

+0

可能な重複[どのようにロックするためにMVCのアクションメソッドがされています/パスワードによるXMLファイルの保護?](http://stackoverflow.com/questions/12216247/how-to-lock-password-protect-an-xml-file) – Yaje

+0

@ user2181397私のファイルのパスワードを設定したいダウンロードする。私は、ページにパスワードを追加することに興味がありません –

答えて

3

ここに述べたように実際には、これは、これまでのところだけでは不可能である。

https://github.com/Stuk/jszip/issues/291

あなたがLinux上でのNode.jsを使用する場合は、この質問は、それを達成するための方法かもしれない:How do I password protect a zip file in Nodejs?

+0

ノードjsを使用していません。 –

+0

この場合、前述のように、これは可能ではないようです。それは大変でしたね :) – Dominik

1

ドットネットでIonic.Zipを使用しました。ここに私のHTMLとJavaScriptコードをここ

<div> 
    <input type="password" id="pass" placeholder="Set Password" /> 
    <button type="submit" class="cutomDownloadCCDA">Zip</button> 
</div> 
<script> 
$('.cutomDownloadCCDA').click(function(e) { 
    //window.location.href = "Home/Zip";// Simple Way 

    var password = $('#pass').val(); 
    $('#downloadFrame').remove(); // This shouldn't fail if frame doesn't exist 
    $('body').append('<iframe id="downloadFrame" style="display:none"></iframe>'); 
    $('#downloadFrame').attr('src', '/Home/Zip?password=' + password); 
}); 
</script> 

public void Zip(string password) 
    { 
     using (ZipFile zip = new ZipFile()) 
     { 
      string xml = "Your XML Data"; 

      var newStream = new MemoryStream(); 
      var newWriter = XmlWriter.Create(newStream); 
      newWriter.WriteRaw(xml); 
      newStream.Position = 0; 
      newWriter.Flush(); 
      newStream.Seek(0, SeekOrigin.Begin); 

      // Ist File 
      ZipEntry e = zip.AddEntry("test.xml", newStream); 
      e.Password = password; 
      e.Encryption = EncryptionAlgorithm.WinZipAes256; 

      // 2nd File  
      //ZipEntry f2 = zip.AddEntry("test1.xml", newStream); 
      //f2.Password = "456"; 
      //f2.Encryption = EncryptionAlgorithm.WinZipAes256; 

      Response.ContentType = "application/zip"; 
      Response.AddHeader("Content-Disposition", "attachment;filename=somefile.zip"); 
      zip.Save(Response.OutputStream); 
     } 
    } 
関連する問題