In meinem $ scope.accept versuche ich, einige Dateien auf meinen Server zu laden, das Skript funktioniert, wenn ich gerade <form id="mForm" action="http://.php" method="post" enctype="multipart/form-data">
in meinem HTML mache.Dateien angular hochladen
Aber ich möchte die Weiterleitung stoppen, also möchte ich es mit Ajax auf meinem Controller tun. Wenn ich das gleiche Skript in der Steuerungsseite laufen bekomme ich diesen Fehler: Typeerror: kann Eigenschaft ‚Länge‘ undefinierter bei subir lesen ..... An dieser Linie besonders: var i = 0, len = filedata.files.length, img, Leser, fil;
function subir() {
alert("ok");
var filedata = document.getElementsByName("file"),
formdata = false;
if (document.FormData) {
formdata = new FormData();
}
var i = 0, len = filedata.files.length, img, reader, file;
for (; i < len; i++) {
file = filedata.files[i];
if (document.FileReader) {
reader = new FileReader();
reader.onloadend = function(e) {
showUploadedItem(e.target.result, file.fileName);
};
reader.readAsDataURL(file);
}
if (formdata) {
formdata.append("file", file);
}
}
if (formdata) {
$.ajax({
url: "http:.php",
type: "POST",
dataType:'json',
data: {json: formdata},
processData: false,
contentType: false,
success: function(res) {
alert("success");
},
error: function(res) {
alert("error");
}
});
}
};
Dies ist Teil des HTML:
<input type="file" accept="image/*;capture=camera" onchange="openFile_1(event)" id="file_1" class="custom-file-input" name="file[]">
<img id="srcImage1" height="0">
</span>
<span class="item item-input">
<input type="text" id="obs_1" placeholder="Observaciones" style="text-align:left;"/>
</span>
<span class="item item-input">
<input type="file" accept="image/*;capture=camera" onchange="openFile_2(event)" id="file_2" class="custom-file-input" name="file[]">
Da Sie nicht "mehrere" zu Ihrem Eingabe-Tag für mehrere Dateien hinzufügen, möglicherweise sein, warum Länge Eigenschaft nicht acce ist ssible – AkankshaGupta