我正在尝试在角度Js中使用上传控件。该功能在chrome中运行良好,但在IE 11中不起作用。 以下是使用的代码:
<div>
<input type="file" class="form-control" id="imageUploadfile" name="Imagefile" ng-files="getTheFiles($files)" accept="image/*" />
<input type="button" name="imageUploadButton" ng-click="uploadFiles()" value="Upload" />
</div>
在controller.js文件中,
var formdata;
$scope.getTheFiles = function ($files) {
formdata = new FormData();
angular.forEach($files, function (value, key) {
formdata.append(key, value);
});
};
$scope.uploadFiles = function () {
TestAPIService.postUploadImage(formdata).success(function (response) {
var imageurl = _TestBaseUrl + 'Images/' + response.filePath.split(/(\\|\/)/g).pop();
$scope.testTypeImage_url = imageurl;
}).error(function (response) {
alert(response.responseText);
});
};
以上代码在chrome中工作正常,我可以上传文件。错误在formdata中,因为“key,value”没有被添加。
如何解决这个问题? 感谢
答案 0 :(得分:1)
这对我有用,
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
使用'IE = edge',它将指示IE使用可用的最新文档模式。建议在您的网页中使用此元标记,该标记特别涉及JQuery / Ajax实现。
答案 1 :(得分:0)
FormData,因此您可能需要对其进行填充。 IE all other methods are unsupported仅支持constructor
和append
方法。
您可以在此处找到一个polyfill:https://github.com/jimmywarting/FormData