複数ファイルのアップロードのHTML/PHP側は理解していますが、私が求めているのは、ファイル配列の事前投稿を分離し、ファイルを別のPHPプログラムに個別に送信して、アップロードと成功を受け取るJavascriptソリューションだと思います。続行する前にフィードバックに失敗します。(例:files [0]-> POST-> Success-> files [1]-> POST-> Success-> etc ...)
これが私が現在単一のファイルに使用しているものです-
function upload(file){
var data = new FormData();
data.append("file", document.getElementById(file).files[0]);
var xmlHTTP = new XMLHttpRequest();
xmlHTTP.open("POST", "uploader.php");
xmlHTTP.send(data);
}
複数のファイルフィールドを作成するのが簡単な方法だと思いますが、私がやろうとしているのは<input type="file" multiple>
、HTML5からファイルのリストを一度に一括選択することです。Javascriptでファイルを分離することしかできなかった場合は、上記のスクリプトをループして、onreadystatechange
毎回成功/失敗を報告するだけです。
何か案は?
編集:
私のトンネルのビジョンを許してください、それは非常に簡単でした!これが誰かを助けるための私の完全なコードです。
<html>
<head>
<script language="Javascript">
function multiupload(file){
count = 0;
maxcount = document.getElementById(file).files.length;
alert(maxcount);
upload(file,count);
}
function upload(file,count){
var data = new FormData();
data.append("file", document.getElementById(file).files[count]);
var xmlHTTP = new XMLHttpRequest();
xmlHTTP.open("POST", "uploader.php");
xmlHTTP.onreadystatechange=function(){
if (xmlHTTP.readyState == 4 && xmlHTTP.status == 200){
count = count+1;
if(count<maxcount){
upload(file,count);
}
}
}
xmlHTTP.send(data);
}
</script>
</head>
<body>
<div id="result"></div>
<form method="post" action="">
<input type="file" name="file" id="file" multiple>
<input type="button" name="submit" value="Upload" onclick="multiupload('file');void(0);">
</form>
</body>
</html>