我正在尝试在 jQuery 文件上传插件中实现客户端加密。我试图按照我发现的一些信息...
- 遍历文件数组,
- 用代表加密文件的 Blob 替换每个项目
- 加密完成后,调用回调
但是我正在努力,我目前有......
var encryptFiles = function (files, callback) {
var reader = new FileReader();
var file = files[0];
var blob = file.slice(0, file.size);
reader.readAsBinaryString(blob);
reader.onload = fileonload;
function fileonload(event) {
var result = event.target.result;
var encrypted = CryptoJS.AES.encrypt(result, "key");
file.
callback();
}
// iterate over the files array,
// replace each item with a Blob representing the encrypted file
// after the encryption is done, invoke the callback
}
$('#fileupload').fileupload({
add: function (e, data) {
encryptFiles(data.files, function () {
data.submit();
});
}
});
此代码成功地将文件读取到 blob,然后对其进行加密,但我不确定如何用 Blob 替换该项目。谁能给我一些帮助。