全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

通过AngularJS实现图片上传及缩略图展示示例

通过AngularJS实现图片上传及缩略图展示示例,废话不多说了,具体如下:

从项目中截出的代码

HTML部分:

<section>
  <img src="image/user-tuijian/tuijian_banner.png" />
  <div>
    <form ng-submit="submit_form()">
      <input type="text" name="aaa" placeholder="商品名称:" ng-model="form.goods_name" />
      <input type="text" name="bbb" placeholder="商品网址:" ng-model="form.goods_url" />
      <textarea placeholder="您宝贵的留言就是我们前进的动力!" ng-model="form.user_msg"></textarea>
      <div>
        <div ng-repeat="item in thumb">
        <!-- 采用angular循环的方式,对存入thumb的图片进行展示 -->
          <label>
            <img ng-src="{{item.imgSrc}}"/>
          </label>
          <span ng-if="item.imgSrc" ng-click="img_del($index)"></span>
        </div>
        <div ng-repeat="item in thumb_default">
        <!-- 这里之所以写个循环,是为了后期万一需要多个‘加号'框 -->
          <label>
            <input type="file" id="one-input" accept="image/*" file-model="images" onchange="angular.element(this).scope().img_upload(this.files)"/>
          </label>
        </div>
      </div>
      <p>(*^_^*)请详细描述您的需求,有助于我们快速定位并解决问题,希望我们的产品和服务能得到您的肯定。</p>
      <input type="submit" name="" value="提 交" />
    </form>
  </div>
</section>

JS部分:

Module.controller('controlName', ['$scope', '$http', function($scope, $http) {
  $scope.reader = new FileReader();  //创建一个FileReader接口
  $scope.form = {   //用于绑定提交内容,图片或其他数据
    image:{},
  };
  $scope.thumb = {};   //用于存放图片的base64
  $scope.thumb_default = {  //用于循环默认的‘加号'添加图片的框
    1111:{}
  };

  $scope.img_upload = function(files) {    //单次提交图片的函数
    $scope.guid = (new Date()).valueOf();  //通过时间戳创建一个随机数,作为键名使用
    $scope.reader.readAsDataURL(files[0]); //FileReader的方法,把图片转成base64
    $scope.reader.onload = function(ev) {
      $scope.$apply(function(){
        $scope.thumb[$scope.guid] = {
          imgSrc : ev.target.result, //接收base64
        }
      });
    };
    
    var data = new FormData();   //以下为像后台提交图片数据
    data.append('image', files[0]);
    data.append('guid',$scope.guid);
    $http({
      method: 'post',
      url: '/comm/test-upload.php?action=success',
      data:data,
      headers: {'Content-Type': undefined},
      transformRequest: angular.identity
    }).success(function(data) {
      if (data.result_code == 'SUCCESS') {
        $scope.form.image[data.guid] = data.result_value;
        $scope.thumb[data.guid].status = 'SUCCESS';
        console.log($scope.form)
      }
      if(data.result_code == 'FAIL'){
        console.log(data)
      }
    })
  };

  $scope.img_del = function(key) {  //删除,删除的时候thumb和form里面的图片数据都要删除,避免提交不必要的
    var guidArr = [];
    for(var p in $scope.thumb){
      guidArr.push(p);
    }
    delete $scope.thumb[guidArr[key]];
    delete $scope.form.image[guidArr[key]];
  };
  $scope.submit_form = function(){  //图片选择完毕后的提交,这个提交并没有提交前面的图片数据,只是提交用户操作完毕后,
                        到底要上传哪些,通过提交键名或者链接,后台来判断最终用户的选择,整个思路也是如此
    $http({
      method: 'post',
      url: '/comm/test.php',
      data:$scope.form,
    }).success(function(data) {
      console.log(data);  
    })
  };
}]);

最后的效果如图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# angularjs  # 缩略图展示  # angularjs的上传图片  # 图片展示  # js生成缩略图后上传并利用canvas重绘  # 图片上传即时显示缩略图的js代码  # js实现上传按钮并显示缩略图小轮子  # 您的  # 创建一个  # 随机数  # 都要  # 多个  # 键名  # 说了  # 完毕后  # 不多  # 或其他  # 解决问题  # 如图  # 绑定  # 转成  # 大家多多  # 图片上传  # 后期  # 最终用户  # 是为了  # 和服务 


相关文章: 如何设置并定期更换建站之星安全管理员密码?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  常州企业网站制作公司,全国继续教育网怎么登录?  html制作网站的步骤有哪些,iapp如何添加网页?  如何选择适配移动端的WAP自助建站平台?  如何在阿里云服务器自主搭建网站?  ,怎么用自己头像做动态表情包?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  建站org新手必看:2024最新搭建流程与模板选择技巧  网站好制作吗知乎,网站开发好学吗?有什么技巧?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  建站之星微信建站一键生成小程序+多端营销系统  网站制作壁纸教程视频,电脑壁纸网站?  Python路径拼接规范_跨平台处理说明【指导】  定制建站流程解析:需求评估与SEO优化功能开发指南  ,sp开头的版面叫什么?  公众号网站制作网页,微信公众号怎么制作?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  为什么Go需要go mod文件_Go go mod文件作用说明  c# 在ASP.NET Core中管理和取消后台任务  高防服务器租用指南:配置选择与快速部署攻略  北京网站制作的公司有哪些,北京白云观官方网站?  如何用PHP快速搭建CMS系统?  如何有效防御Web建站篡改攻击?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  高端网站建设与定制开发一站式解决方案 中企动力  如何用免费手机建站系统零基础打造专业网站?  javascript中的try catch异常捕获机制用法分析  如何用wdcp快速搭建高效网站?  如何在IIS中新建站点并配置端口与物理路径?  如何高效完成自助建站业务培训?  建站之星如何修改网站生成路径?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  如何高效完成独享虚拟主机建站?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  如何高效搭建专业期货交易平台网站?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何使用Golang安装API文档生成工具_快速生成接口文档  建站之星如何保障用户数据免受黑客入侵?  如何设计高效校园网站?  如何在云主机上快速搭建网站?  建站主机如何选?高性价比方案全解析  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  如何快速搭建自助建站会员专属系统?  济南企业网站制作公司,济南社保单位网上缴费步骤?  网站制作难吗安全吗,做一个网站需要多久时间?  建站主机类型有哪些?如何正确选型  表情包在线制作网站免费,表情包怎么弄?  海南网站制作公司有哪些,海口网是哪家的? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。