我想要上传照片而不必点击提交按钮。我正在使用离子框架和cordova插件,以下示例是从iphone的照片库中获取照片..为了简洁起见,我只包含了我的请求所需的内容。
我的观点如下:
<form ng-submit="???">
<img class="img-circle" ng-src="{{prof_pic}}" ngclick="showActionsheet()" ng-if="pic_is_not_null()"/>
</form>
控制器:
$scope.getPictureFromGallery = function() { $cordovaCamera.getPicture(secondoptions).then(function(imageData) {
$scope.imageData = imageData;
//data model
$scope.data = {prof_pic_link: imageData};
var image = angular.toJson($scope.data);
UserService.UpdateMyPhoto($localStorage.CurrentUser.id, $localStorage.CurrentUser.auth_token, image)
.success(function (data) {
$scope.prof_pic = "data:image/jpeg;base64," + imageData;
//to display the image in the view
}).
error(function(error,status) {
console.log(error);
console.log(status);
})
}, function(err) {
// error
});
};
答案 0 :(得分:0)
您已经在问题中找到了答案。
您可以将ng-click
绑定到将图像上传到服务器的函数。
但更多的问题是为什么你不想要提交按钮。考虑一下:用户悄悄地上传图像,她选择要上传的图像但设法选择错误的图像。 如果我正确地阅读了您的场景,这将意味着上传了错误的图像。另一方面,如果有一个提交按钮,用户可以选择一个新图像而不上传第一个图像。
所以虽然你可以做到这一点,而你自己已经有了答案(ng-click="myUploadFunction(image)"
),你真的想要吗?