ファイルのアップロードの進行状況バーを作成する必要があります。私の進行状況イベントリスナーが機能していることはわかっています。これを行うための「角度のある方法」はありますか?イベントリスナー内からプログレスバーを更新するにはどうすればよいですか?
序文として、助けが必要な場合は、一般的なロジック フローを自由に修正および批評してください。
私はこのキャンバスを持っています...
<canvas id="progress"></canvas>
ファイルをアップロードする angularjs ディレクティブがあります。プログレスイベントリスナーを追加しました(関連する部分のみを表示します)...
link: function postLink(scope, element, attrs, ctrl) {
var fileUpload = function (img, file) {
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", function(e) {
if (e.lengthComputable) {
var percentage = Math.round((e.loaded * 100) / e.total);
// UPDATE THE PROGRESS BAR HERE
}
}, false);
}
element.bind('change', function (evt) {
var files = evt.target.files;
var canvas = document.getElementById("progress"),
context = canvas.getContext("2d");
context.fillStyle = 'lighgray';
context.fillRect(0, 0, 200, 18);
context.moveTo(0, 0);
context.fillStyle = 'darkgray';
context.fillRect(0, 0, 1, 18);
for(var i = 0; i < files.length; i++) {
fileUpload(files, files[i]);
}
}
}