将图像上传到服务器不会返回任何数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将图像上传到服务器不会返回任何数据相关的知识,希望对你有一定的参考价值。

我正在尝试将图像上传到服务器,我在使用angularjs上传后获得一个非图像对象这里是我的片段

$scope.saveFile = function()
            // var filename = $scope.importIdeaFile.name;
            var formData = new FormData(document.getElementById("photoUpdates"));
            console.log("formdata333.... "+formData);
            var formdata = new FormData();
            if(typeof $rootScope.userIdArg != 'undefined' && $rootScope.userIdArg != null && $rootScope.userIdArg !='')
                formdata.append("userid",$rootScope.userIdArg);
                formdata.append('updatePhoto',new Blob([formData], 
                    type:"application/json"
                ));
                $http.post('/uploadIdeafile',formdata,
                    transformRequest: angular.identity,
                    headers: 'Content-Type': undefined)
                    .then(
                        function(response,status) 
                            alert("jarah123..."+response);
                        ,
                        function(errResponse) 
                            alert(" Error while fetching User");
                        );
            
        

这是我的html输入标记

<input type="file" class="form-control-file"
                                                       id="photoUpdates" ng-model="updatePhoto" size="60">

上传的内容格式不是图片

答案

这种方法解决了我的问题

$scope.saveFile = function() 
            var f = document.getElementById('photoUpdates').files[0],
                r = new FileReader();
            r.onloadend = function(e) 
                var data = e.target.result;
                console.log(data);
                var fd = new FormData();
                fd.append('userid', $rootScope.userIdArg);
                fd.append('updatePhoto', data);

                $http.post('/uploadIdeafile', fd, 
                    transformRequest: angular.identity,
                    headers: 'Content-Type': 'text/plain;charset=utf-8'
                    
                )
                    .then(
                        function(response,status) 
                            alert("jarah123..."+response);
                        ,
                        function(errResponse) 
                            alert(" Error while fetching User");
                        );
            ;
            r.readAsDataURL(f);
        

以上是关于将图像上传到服务器不会返回任何数据的主要内容,如果未能解决你的问题,请参考以下文章

summernote vue html编辑器不会将图像上传到服务器

AFNetworking 2.0 图片上传和 JSON 返回错误

无法将图像和一个数据上传到服务器

片段视图返回后执行的 Firebase 查询

其他数据不会被推入数据库,只有图像

将图像上传到 Firebase 存储时如何制作进度条?