gpt4 book ai didi

javascript - Md-file-input 不会 append 到 AngularJS 中的 formData 中

转载 作者:行者123 更新时间:2023-12-03 05:31:25 25 4
gpt4 key购买 nike

在 Angular Web 应用程序中,我有一个表单。我想更新一个文件,所以我使用了 lf-ng-md-file-input。这是简单的 html:

<lf-ng-md-file-input lf-files='files' multiple> </lf-ng-md-file-input>

在我的 Controller 中,我这样做了:

let formData = new FormData();
angular.forEach(this.$scope.files,function(obj){
formData.append('files[]', obj.lfFile);
});

调试它,我看到obj.lfFile存在:

lastModified:1473694273813
lastModifiedDate:Mon Sep 12 2016 17:31:13 GMT+0200 (ora legale Europa occidentale)
name:"test.jpg"
size:39790
type:"image/jpeg"
webkitRelativePath:""

问题是它没有将文件 append 到我的 formData 中。循环结束后仍然是空的。为什么?

最佳答案

我曾经为此编写过一条指令,也许它会对您有所帮助:

指令:

angular.module('content')
.directive('parFiles', files);

/* @ngInject */
function files($parse, $timeout) {

var directive = {
link: link,
restrict: 'A'
};

return directive;

function link(scope, element, attr) {
var fn = $parse(attr['pirFiles']);

element.bind('change', function (evt) {
var files = [], fileList, i;
fileList = evt.target.files;
if (fileList != null) {
for (i = 0; i < fileList.length; i++) {
files.push(fileList.item(i));
}
}
$timeout(function () {
fn(scope, {
$files: files,
$event: evt
});
});
});
}
}

查看:

 <input type="file"
class="input-list__item"
ng-disabled="dr.isFileUploaded"
par-files="dr.addFiles($files)"
required />

Controller :

function addFiles(files) {
vm.files = files;
}

关于javascript - Md-file-input 不会 append 到 AngularJS 中的 formData 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40927067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com