XHRを使いアップロードの進捗状況を表示するものを作ってます
ソースを実行すると数値は表示されず、
Infinityと出てしまいます
ソースコードにおかしい部分があるのでしょうか?
詳しい方回答お願いいたします
JavaScript
1 <script type="text/javascript"> 2 function ExecUpload() { 3 var upload1 = document.getElementById("file_1"); 4 5 var file1 = upload1.files[0]; 6 7 var formdata = new FormData(); 8 formdata.append("file_1", file1); 9 10 var xmlhttp = new XMLHttpRequest(); 11 xmlhttp.addEventListener("progress", function(e){ 12 alert(e.total);//アップ中ファイルのトータルサイズが取れてない 0となる 13 progress_data = e.loaded / e.total; 14 p.innerHTML='progress:'+progress_data; 15 }, false); 16 17 xmlhttp.onreadystatechange = function () { 18 if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 19 alert(xmlhttp.responseText); 20 } 21 }; 22 xmlhttp.open("POST", "updata.php", true); 23 xmlhttp.send(formdata); 24 } 25 </script> 26 27<font id="p"></font> 28<input id="file_1" name="file_1" type="file"> 29 <a href="javascript:void(0);" onclick="ExecUpload();">アップロード</a>
PHP
1updata.php 2 3<?php 4if(is_uploaded_file($_FILES["file_1"]["tmp_name"])) { 5 $tmpPath = $_FILES["file_1"]["tmp_name"]; 6 $savePath = basename($_FILES["file_1"]["name"]); 7 move_uploaded_file($tmpPath , $savePath); 8 echo 'OK'; 9} else { 10 echo 'ERROR'; 11} 12?>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/11/13 14:49