我有以下输入元素:
<div class="form-group">
<label>Attach BOL Document</label>
<input name="file" type="file" class="form-control" onchange="angular.element(this).scope().uploadFile(this.files)" />
</div>
在我的控制器中(在任何函数之外)我设置一个这样的变量:
$scope.fd = new FormData();
我定义了以下函数,触发输入元素的更改,如上所示:
$scope.uploadFile = function (files) {
console.log(files[0]);
$scope.fd.append("file", files[0]);
console.log($scope.fd);
};
第一个console.log按照我的预期输出File对象,所以我知道它正被传递到我的$ scope。问题是第二个console.log输出一个空的FormData对象。 File对象没有被追加?
我想也许这与我在UploadFIle函数之外声明$ scope.fd的事实有关,但即使在函数内声明它也不起作用...
为什么???
答案 0 :(得分:0)
我知道这里发生了什么。它与AngularJs无关。您无法检查添加到FormData对象的键。请参阅此问题以供参考
这真的很臭...所以在我准备好服务器端代码并且我实际上POST数据后我无法判断该文件是否实际上被追加了。我确信这是我无法验证这一点。