我正在尝试从剪贴板上传图片,但是ng-paste没有到达$ scope.paste函数,它到达控制器,但不到达范围。
功能:
$scope.paste = function (event) {
var clipData = event.clipboardData;
angular.forEach(clipData.items, function (item, key) {
if (clipData.items[key]['type'].match(/image.*/)) {
// if it is a image
var img = clipData.items[key].getAsFile();
console.log('A image sized ' + img.size + ' is being uploaded.');
var fd = new FormData();
fd.append('file', img);
$http.post("engine/controller/system/upload.php", fd, {
transformRequest: angular.identity,
headers: {
'Content-Type': undefined
}
}).success(function (data, url) {
if (data.status == 'success') {
//Success
toastr.success(data.status_msg, data.title);
$location.path("/image/"+data.image_id);
} else {
//Not Successful
toastr.error(data.status_msg, data.title);
}
});
};
});
};
触发:
<button class="btn btn-block btn-info" ng-paste="paste($event)">Activate Paste!</button>
我不知道是否重要,但我也在使用路线,触发器位于模板文件中。 (在index.tpl)。