发布于 1970-01-01 08:00
  • 2 个回答
    • 我一般是自己写表单提交,主要原理就是利用一个隐藏的input,然后自己写指令到input上,代码可参照如下:

      function checkImgType(file) {
          var type = file.name.split(".");
          if (type[type.length - 1] != 'png' && type[type.length - 1] != 'jpg' && type[type.length - 1] != 'jpeg') {
              return false;
          }
          return true;
      };
       $scope.upload = function(name, imgUrl) {
              var fileObj = document.getElementById(name).files[0];
              if (fileObj) {
                  $scope.imgloading[imgUrl] = true;
              }
              if (!checkImgType(fileObj)) {
                  alert("图片格式错误,只支持png,jpg,jpeg格式");
                  return;
              }
              var form = new FormData();
              form.append("file", fileObj);
              var xhr = new XMLHttpRequest();
              xhr.open("POST",httpBase+  "upload", true);
      
              function callback() {
                  if (xhr.readyState == 4) {
                      $timeout(function() {
                          var data = angular.fromJson(xhr.responseText);
                         
                          $scope.$apply(function() {
                              $scope.goods[name] = data.statusMessage;
                          });
                      }, 3000);
                  }
              };
              xhr.onreadystatechange = callback;
              xhr.send(form);
          };

      html

      <label for="commodityImg">
                  <input class="hide" type="file" id="commodityImg" ng-model="commodityImg" lt-file    file-Fn="upload('commodityImg','commodityImg')" accept=" image/png" />
      
      </label

      补充下指令

      .directive("ltFile", function() {
          return {
              restrict: 'AE',
              link: function(scope, elm, attr, ngModelCtrl) {
                  elm.bind('change', function(newValue,oldValue) {
                      scope.$apply(function() {
                          eval("scope." + attr.fileFn);
                      })
                  });
              }
          };
      })
      2022-12-01 10:35 回答
    • 2022-12-01 10:35 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有