【发布时间】:2017-12-30 06:07:07
【问题描述】:
在我的 $scope.accept 中,我正在尝试将一些文件上传到我的服务器,
当我在我的 HTML 中执行 <form id="mForm" action="http://.php" method="post" enctype="multipart/form-data"> 时,脚本正在运行。
但是我想停止重定向,所以我想在我的控制器上使用 ajax。当我在控制器端运行相同的脚本时,出现此错误: TypeError:无法读取未定义的属性“长度” 在 subir ..... 特别是在这一行:var i = 0, len = filedata.files.length, img, reader, 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");
}
});
}
};
这是 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[]">
【问题讨论】:
-
由于您没有在多个文件的输入标签中添加“多个”,可能这就是长度属性无法访问的原因
标签: jquery html angularjs ajax ionic-framework