您好我正在开发angularjs应用程序。我有文件上传模块。我正在将文件数据附加到FormData中,如下所示。Angularjs formData.append不工作
var filesformdata = new FormData();
angular.forEach(this.pendingFiles, function (value, key) {
filesformdata.append(key, value);
});
for (var pair of filesformdata.entries()) {
console.log(pair[0] + ', ' + pair[1]);
}
这是我的角的代码。
angular.module('RoslpApp').factory('fileUpload', ['$http', function ($http) {
debugger;
var fileuploadurl = "http://localhost:19144/" + 'api/Customer/UploadLeaseFiles/' + 2;
var service = {
uploadUrl: fileuploadurl,
pendingFiles: [],
doUpload: doUpload
};
return service;
function doUpload() {
debugger;
var filesformdata = new FormData();
angular.forEach(this.pendingFiles, function (value, key) {
filesformdata.append(key, value);
});
for (var pair of filesformdata.entries()) {
console.log(pair[0] + ', ' + pair[1]);
}
return $http.post(this.uploadUrl, filesformdata, {
transformRequest: angular.identity,
headers: {
'Content-Type': undefined
}
})
}
}]);
这是指令代码。
myapp.directive('fileModel', ['fileUpload', function (fileUpload) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
element.bind("change", function (evt) {
fileUpload.pendingFiles[attrs.fileModel] = evt.target.files[0];
});
}
};
}]);
这是上传功能
$scope.upload = function (filename) {
debugger;
fileUpload.doUpload().success(function (success) {
console.log(success);
});
};
这是HTML代码。
<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-data="{{file}}" file-model="{{file}}"/>
</div>
</div>
<input type="submit" value="{{ 'NEXT' | translate }}" class="blue-button" ng-click="upload()">
Eventough我有文件this.pendingFiles当我利用显示的console.log或API使用下面的代码我不明白的文件。
System.Web.HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files;
// CHECK THE FILE COUNT.
UploadedLeaseFiles totalDocumentInserted = null;
for (int iCnt = 0; iCnt <= hfc.Count - 1; iCnt++)
我在this.pendingFiles里面有文件。请参阅屏幕截图。
我的filesformdata FormData总是空的。我可以帮助解决这个问题吗?谢谢。
虽然张贴什么是在你的网络中的报头部分中所示tab.If它是存在的,那么问题不在于FORMDATA附加但在其他地方 – Vivz
你可以发布更多的代码? – Vivz
谢谢。我添加了更多的代码。 –