2016-10-26 190 views

回答

0

首先,添加此自定义目录下方控制器:

app.directive('fileModel', ['$parse', function ($parse) { 
    return { 
     restrict: 'A', 
     link: function (scope, element, attrs) { 
      var model = $parse(attrs.fileModel); 
      var modelSetter = model.assign; 

      element.bind('change', function() { 
       scope.$apply(function() { 
        modelSetter(scope, element[0].files[0]); 
       }); 
      }); 
     } 
    }; 
}]); 

然后在您查看使用这样的:

<input type = "file" name="files" file-model = "myFile"/> 

在你的控制器功能时youf形式将提交:

像这样:

$scope.formSubmit = function(){ 
     var file = $scope.myFile; 
     var fd = new FormData(); 
     fd.append('profilepic', file); 
     fd.append('action', 'add'); 

     $http.post('yourjavafile', fd, { 
        transformRequest: angular.identity, 
        headers: {'Content-Type': undefined} 
       }).success(function (response) { 

         if (response) { 

         } else { 

         } 
        });; 
} 
+0

图像上传过程由一个单独的jQuery库处理,我应该在这里使用它。除此之外还有其他解决方案吗?无论如何感谢这个解决方案。 –

+0

是的,这是纯粹的角度文件上传的例子。 – Jigar7521