自动下载加密文件
Auto - Download encrypted file
我正在尝试加密,然后从客户端文件夹下载文件。我有下面的代码,但实际的加密文件没有被下载。构建下载URL是我有问题的地方。
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Get Directory</title>
<!-- Update your jQuery version??? -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="assets/js/aes.js"></script>
<script> // type="text/javascript" is unnecessary in html5
// Short version of doing `$(document).ready(function(){`
// and safer naming conflicts with $
jQuery(function($) {
$('#file-input').on('change', function() {
// You can't use the same reader for all the files
var array1 = new Array
$.each(this.files, function(i, file) {
// Uses different reader for all files
var reader = new FileReader
var downloadUrl = ''
reader.onload = function() {
// reader.result refer to dataUrl
// theFile is the blob... CryptoJS wants a string...
var encrypted = CryptoJS.AES.encrypt(reader.result, '12334')
downloadUrl = 'data:application/octet-stream,' + encrypted;
array1.push(downloadUrl);
setTimeout("window.location.assign('" + downloadUrl + file.name + '.encrypted'+ "');", 500)
}
reader.readAsDataURL(file)
$('#thelist').append('FILES: ' + file.name + '<br>')
})
})
})
</script>
</head>
<body>
<input type="file" id="file-input" webkitdirectory="" directory="">
<div id="thelist"></div>
</body>
</html>
如果有人正在寻找这个,我可以像下面这样解决它。
var reader = new FileReader();
reader.onload = function (e) {
var encrypted = CryptoJS.AES.encrypt(reader.result, '12345');
var dataUrl = 'data:data:application/octet-stream,' + encrypted;
array1.push('href=data:data:application/octet-stream,' + encrypted);
var link = document.createElement("a");
link.download = file.name + '.encrypted';
link.target = "_blank";
// Construct the uri
link.href = dataUrl;
document.body.appendChild(link);
link.click();
// Cleanup the DOM
document.body.removeChild(link);
delete link;
};
$('#thelist').append('FILES: ' + file.name + '<br>')
reader.readAsDataURL(file);
})
相关文章:
- 客户端PGP文件加密
- 用javascript(Phonegap应用程序)加密文件
- SJCL加密导致文件大小错误
- 加密-js - 读取和解密文件
- 节点.js使用 AES 加密大文件
- 使用SJCL客户端加密文件
- 如何从我的web应用程序中的Java脚本文件中获得加密的密码
- CryptoJS解密C#DES加密文件失败
- JavaScript:使用openpgp.js解密GnuPG加密文件的内容
- 使用HTML5文件API存储/检索文件中的加密文本
- 使用JavaScript解码PKCS12文件并从中获得加密私钥的最佳方法
- 我可以加密一个javascript文件,仍然让它在客户端上运行吗?
- 自动下载加密文件
- 我应该如何使用客户端JavaScript加密大文件
- 加密的Flash容器文件中的内容比普通的HTML/Javascript更安全吗?
- Javascript加密文件上传
- 客户端(javascript)文件上传加密
- 从javascript访问IndexedDB作为文件进行加密
- 使用node.js通过HTTP将文件加密为字符串
- 如何加密文件下载路径