angularJs上传文件(非form上传)

angular.js:13920 Broken interceptor detected: Config object not supplied in rejection:

<input type="file" id="file{{$index}}" class="file" ngf-select ngf-change="cacScriptUploadVm.views.changeAttach($file,$index)">
    function save() {
            console.log(vm.views.scriptList);
            var form = new FormData();
            for (var i = 0; i < vm.views.scriptList.length; i++) {
                var file = angular.element(".file")[i].files[0];
                form.append("files", file);//files和后台接收字段名称一样
            }
            //传入出了file以外的实体
            /* var scriptList = JSON.stringify(vm.views.scriptList);
            form.append("script", scriptList);*/
            form.append("newDir","");//传一个字符串
            cacScriptService.uploadFile(form);           


        }

        function changeAttach($file, $index) {
            if ($file != null && vm.views.scriptList.length > 0 && vm.views.scriptList.length >= $index) {
                vm.views.files[$index] = $file;
            }
        }
function uploadFile(form) {
            var url = _appconfig.apiBaseUrls.git + '/api/git/cac/upload';
            $http({
                method: 'POST',
                url: url,
                data: form,
                headers: {'Content-Type': undefined},
                transformRequest: angular.identity,
                transformResponse: function(data) {  // 转换response,这样就能接收后台传回来String,默认接收是json。没写这个属性之前,上传成功后却返回到error,而且会报上面的错误,写了这个就不会
                    return data;
                }
            }).success(function (data) {
                console.log('upload success');
            }).error(function (data) {
                console.log('upload fail');
            });
        }

猜你喜欢

转载自www.cnblogs.com/zml-java/p/9123369.html