【AngularJs】自定义接口上传文件

基于HTML Form直接定义、Submit

有个问题:Action带的参数不能是变量

HTML中定义 Form,通过js函数自行submit 

表单提交的AngularJS函数片段:

var formdetailImg = document.getElementById("formdetailImg", AlertUtil.defaultTimeout);
formdetailImg.action = CommonConfig.RestBaseUrl.CaoBaoService + 'goods/detailimgs/add/' + $scope.goodsDetailInfo.id + '/' + $scope.detailImage.title + '/' + $scope.detailImage.sortNum;
formdetailImg.target = "tg"; //tg为隐藏的iframe,为了上传后页面留在原地(不跳转)
formdetailImg.submit();
也有问题:这是异步提交动作,无法立即刷新修改后的数据。
 
 

通过AngularJs上传(这个好,自由,想干啥干啥):

$scope.saveGoodsDetailImg = function () {
        var fd = new FormData();
        var file = document.getElementById('goodsDetailImg').files[0];
        fd.append('goodsDetailImg', file);

        $http.post(CommonConfig.RestBaseUrl.CaoBaoService + 'goods/detailimgs/add/' + $scope.goodsDetailInfo.id + '/' + $scope.detailImage.title + '/' + $scope.detailImage.sortNum, fd, CommonConfig.fileUploadReqConfig)
          .then(function (result) {  //正确请求成功时处理
            console.log('saveGoodsDetailImg:result', result);

            if (result.data.code != 'NONE_ERROR') {
              AlertUtil.dangerWithCloseButton('alertInfo', '修改失败!', AlertUtil.defaultTimeout);
              return;
            }

            $scope.getGoodsDetailImg($scope.goodsDetailInfo.id);

          }).catch(function (result) { //捕捉错误处理
            console.log(result);
          });
      };

 

相关的配置:

CommonConfig.fileUploadReqConfig = {
  headers: { 'Content-Type': undefined },
  transformRequest: angular.identity
};

转载于:https://www.cnblogs.com/njlittlecat/p/9837977.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值