【发布时间】:2017-11-07 02:54:42
【问题描述】:
您好,我正在使用 Angularjs 和 api 开发文件上传模块。我关注https://jsfiddle.net/JeJenny/vtqavfhf/。我有一份清单,其中包含文件名称,例如护照、签证等。我将此列表绑定到数组并在 ng-repeat 中循环。因此,它会根据文档数量生成文件上传控件,如下所示。
<div class="upload-button" ng-repeat="file in files">
<div class="upload-button-icon">
<img src="images/folder-small.png">
<div class="upload-text">{{file}}</div>
<input type="file" id="file1" name="file1" file-model="{{file}}" />
</div>
</div>
注意:我们只能一次上传一份文件。 很明显,如果我在 files 数组中有 4 个文档,那么将生成 4 个文件上传控件。
最后我有一个按钮,点击后可以保存所有上述文件。
<input type="submit" value="{{ 'NEXT' | translate }}" class="blue-button" ng-click="uploadFile(files)">
我有这个功能来保存文件(取自fiddler)
$scope.uploadFile = function(filename){
//Here i want to save all the files. For example if there are three documents in array files then 3 documents at a time i want to send it to server.
};
如您所见,fiddler 将具有单独的函数来单独保存每个文件。我正在尝试一次发送所有文件。
我可以在这里得到一些帮助吗?我不确定 $scope.uploadFile 函数中应该写什么?我如何在这里收集所有文件数据?谢谢你。
【问题讨论】:
-
谢谢。这将上传多个文件,但将在一个文件上传控件上选择这些多个文件。如果您不理解该场景,请告诉我。
-
如果您想一次性完成所有文件(Ajax POST),然后构建多部分(将所有文件连接到一个表单正文中)并提交。否则我不明白你的情况。
-
谢谢。你现在是对的。我对在一个表单正文中连接所有文件感到困惑。如何连接文件?
-
我已经创建了 var payload = new FormData();我怎样才能将文件数据附加到这个?任何帮助将不胜感激。
标签: javascript angularjs