[英]Blockchain Tierion API - Real time File upload using Node.js
主題:使用Node.js
實時上傳文件
大家好,我正在使用Node.js
進行實際文件upload
並且Node.js
以下代碼中的錯誤:
function handleFile(files) {
if (!files.length) {
return;
}
var file = files[0];
var reader = new FileReader();
reader.readAsArrayBuffer(file);
reader.onprogress = function (e) {
dragZone.removeClass( 'is-uploading' );
dragZone.removeClass( 'is-error' );
dragZone.addClass( 'is-success' );
if (e.lengthComputable) {
var percentComplete = (e.loaded / e.total)*100;
percentComplete = parseInt(percentComplete);
//Do something with upload progress
console.log(percentComplete);
$('#status').text(percentComplete+'%');
$('.progress-bar').text(percentComplete+'%');
$('#progressBar').val(percentComplete);
//console.log(e.loaded+ " / " + e.total)
}
}
reader.onload = function(e) {
var data = e.target.result;
//Error-facing
window.crypto.subtle.digest({name: 'SHA-256'}, data).then(function(hash) {
var hexString = '';
var bytes = new Uint8Array(hash);
for (var i = 0; i < bytes.length; i++) {
var hex_i = bytes[i].toString(16);
hexString += hex_i.length === 1 ? '0' + hex_i : hex_i;
}
$('#hash').text(hexString);
calculatedHash = hexString;
dragZone.removeClass( 'is-uploading' );
dragZone.removeClass( 'is-error' );
dragZone.addClass( 'is-success' );
}).catch(function(e) {
showError(e);
});
};
有人請指導我如何解決此錯誤:
index.js:138 Uncaught TypeError: Cannot read property 'digest' of undefined
at FileReader.reader.onload
在提到的行下面沒有數據傳遞到此哈希變量:
window.crypto.subtle.digest({name: 'SHA-256'}, data).then(function(hash)
我想您在帶有http的網站上使用它嗎? crypto api在不安全的域上不可用,您需要使用https進行摘要才能工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.