Javascript 从ng change获取文件

Javascript 从ng change获取文件,javascript,angularjs,file-upload,fileapi,Javascript,Angularjs,File Upload,Fileapi,如何将其转换为angular.js compitable,以便获取数据URL并通过$http.post发送 <input type="file" id="imgfiles" name="imgfiles" accept="image/jpeg" onchange="readURL(this);"> function readURL(input) { if (input.files[0].size <= 1048576) { if (input.fil

如何将其转换为angular.js compitable,以便获取数据URL并通过$http.post发送

<input type="file" id="imgfiles" name="imgfiles" accept="image/jpeg" onchange="readURL(this);">


function readURL(input) {
    if (input.files[0].size <= 1048576) {
        if (input.files && input.files[0]) {
            var reader = new FileReader();
            reader.onload = function (e) {
                $('#cam_photo').attr('src', e.target.result).width(250).height(230);
                var a = $('#cam_photo').attr('src');
                data_url = a;
            };
            reader.readAsDataURL(input.files[0]);
        }
    } else {
        alert('File is too large. Upload file less than 1MB');
    }
}

函数readURL(输入){
if(input.files[0].size使用
angular.element(this.scope()
获取范围 试试这个:

onchange="angular.element(this).scope().readURL(this)"
然后,在控制器中编写
$scope.readURL(输入)
代码

$scope.readURL = function(input) {
    if (input.files[0].size <= 1048576) {
        if (input.files && input.files[0]) {
            var reader = new FileReader();
            reader.onload = function (e) {
                $('#cam_photo').attr('src', e.target.result).width(250).height(230);
                var a = $('#cam_photo').attr('src');
                data_url = a;
            };
            reader.readAsDataURL(input.files[0]);
        }
    } else {
        alert('File is too large. Upload file less than 1MB');
    }
}
$scope.readURL=函数(输入){
如果(输入.files[0].size,例如,请参见以下答案: