Die Daten werden in den Temp Ordner des Servers geladen. Dann sollte das php-Script mit move_uploaded_file die Datei in ihr eigentliches Ziel bewegen. Da dasScript aber keine Daten vom Formular bekommt passiert das nicht. Feldnamen stimmen denn das Script hat ja vorher funktioniert und eigentlich hat sich außer den Zeilen für die progressbar nichts geändert
<script language="javascript">
function fileChange()
{
var fileList = document.getElementById("file").files;
var file = fileList[0];
if(!file)
return;
document.getElementById("fileName").innerHTML = 'Dateiname: ' + file.name;
document.getElementById("fileSize").innerHTML = 'Dateigröße: ' + file.size + ' B';
document.getElementById("fileType").innerHTML = 'Dateitype: ' + file.type;
document.getElementById("progress").value = 0;
document.getElementById("prozent").innerHTML = "0%";
}
var client = null;
function uploadFile()
{
var file = document.getElementById("file").files[0];
var formData = new FormData();
client = new XMLHttpRequest();
var prog = document.getElementById("progress");
if(!file)
return;
prog.value = 0;
prog.max = 100;
formData.append("datei", file);
client.onerror = function(e) {
alert("onError");
};
client.onload = function(e) {
document.getElementById("prozent").innerHTML = "100%";
prog.value = prog.max;
};
client.upload.onprogress = function(e) {
var p = Math.round(100 / e.total * e.loaded);
document.getElementById("progress").value = p;
document.getElementById("prozent").innerHTML = p + "%";
};
client.onabort = function(e) {
alert("Upload abgebrochen");
};
client.open("POST", "add_episode_script.php");
client.onreadystatechange = function() {
if(this.readyState == this.DONE && this.status == 200)
{
var ausgabe = document.getElementById("upload_ausgabe");
ausgabe.innerHTML = this.responseText;
}};
client.send(formData);}
function uploadAbort() {
if(client instanceof XMLHttpRequest)
client.abort();}</script>
<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="" id="upload_form">
<label>Serie: <select name="serie" id="serie">
Titel:<input name="titel" type="text" size="25" />
Sprache: <select name="lang" id="lang">
<option value="./images/german.jpg">deutsch</option>
<option value="./images/english.jpg">englisch</option>
</select><br /><br />
Inhalt:<br /> <textarea class="textarea" id="inhalt" name="inhalt" cols="75" rows="10"></textarea> <br /> <br />
Datei:<input name="file" type="file" id="file" multiple/> <br /> <br />
<input name="upload" value="Upload" type="button" onclick="uploadFile();" />
<input name="abort" value="Abbrechen" type="button" onclick="uploadAbort();" />
</form>
<div>
<div id="fileName"></div>
<div id="fileSize"></div>
<div id="fileType"></div>
<progress id="progress" style="margin-top:10px; width:500px; height:45px;"></progress> <span id="prozent"></span></div>
<div id="upload_ausgabe">
</div>
Alles anzeigen
Den Code hatte ich sauber rein kopiert. Keine Ahnung warum der so rum gewürfelt worde. Habs jetzt nochmal ordentlich gemacht.