在我的页面中,我只输入了一个html文件:
input type="file" name="file" files-model="service.file" id="filo" accept=".zip" />
我过去常常将我的文件上传到多部分文件请求中,如下所示:
var fd = new FormData();
fd.append('file', filo.files[0]);//filo is the id of the input
//and send my http request having fd as a parameter
问题是,现在我在页面中使用角度ng-repeat自动生成表单,所以我无法使用输入ID获取文件,我现在该怎么办?
干杯,
答案 0 :(得分:0)
使用javascript会有点棘手。 this图书馆为我工作。见下面的例子。
<a class="btn btn-sm btn-primary"
type="file"
ngf-select="receiveSlectedFiles($file)">
Select Logo
</a>
无论何时选择文件,您都可以在 receiveSlectedFiles($ file)函数中获取它。当用户选择有效文件时,它将在$ file中,否则$ file将为null。
控制器中的示例:
var arrayOfFiles = [];
$scope.receiveSlectedFiles = function (file) {
if (file) {
arrayOfFiles.push(file);
}
};
在投放使用时,请注入上传,然后使用以下代码上传图片:
this.uploadMultiple = function (files) {
var uri = yourApiUrl;
return Upload.upload({
url: uri,
arrayKey: '',
data: {
files: files
}
})
};
在控制器中,您只需要将文件数组传递给此服务。