我正在使用here中的指令ng-upload 。 This is我正在使用的版本。
在“Chrome 32 Aura”上,该指令运行良好,但是:
该错误来自第191行。我找不到让它工作的方法,我尝试使用不同的JSON解析器,验证内容,但仍然很费力。
这是我的HTML:
<form ng-upload="uploadComplete(content)" upload-options-before-submit="beforeLoading(form)" name="form" action="/v1/themes">
<div class="form-group theme-middleContainer">
<label for="logoType">Logotype</label>
<div class="input-group theme-logotypeContainer">
<div class="image-container">
<img class="organization-image" ng-src="{{imageSrc}}" ng-hide="imageSrc==undefined"/>
</div>
<div class="uploader-container">
<input class="form-control btn btn-inverse upload-input" type="file" id="logoType" name="logoType" accept="image/png" ng-model="theme.logoType" ng-file-select="onFileSelect($files)">
</div>
</div>
<div class="error" ng-show="invalidImageExtension">Please select file in <b>png</b> format.</div>
<div class="error" ng-show="form.logoType.$error.required && submitted">Please select a logo.</div>
</div>
</form>
这是我的角度方法:
$scope.$on("fileSelected", function (event, args) {
$scope.$apply(function () { $scope.theme.logoType = args.file; });
});
$scope.beforeLoading = function(form){
$scope.submitted = true;
return !(form.$invalid);
};
$scope.uploadComplete = function (content) {
$scope.submitted = false;
if ( _.isObject(content)) {
$location.path("/home");
}else{
$scope.hasError = true;
$scope.errorMessage = content;
}
};
BTW:我在后端使用node.js。在Chrome 31上,我看到保存在mongoDB上的图像,我看到正确的内容响应,但json错误仍然存在。
有没有人找到解决方法或尝试过同样的问题?