欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

angularjs實(shí)現(xiàn)多張圖片上傳并預(yù)覽功能

 更新時(shí)間:2017年02月24日 13:56:37   作者:zxj娟娟  
這篇文章主要為大家詳細(xì)介紹了angularjs實(shí)現(xiàn)多張圖片上傳并預(yù)覽功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了angularjs上傳多張圖片并預(yù)覽的具體代碼,供大家參考,具體內(nèi)容如下

directive.js

/* 
 * 多圖片上傳及預(yù)覽指令(需指定圖片類名) 
 * 
 */ 
 
angular.module('routerModule').directive('fileModel', ['$parse', 'fileReader', function($parse, fileReader) { 
 return { 
 restrict:'A', 
  link:function(scope, element, attrs, ngModel) { 
  var model = $parse(attrs.fileModel); 
  var modelSetter = model.assign; 
  var imgviewID = attrs["imgViewId"]; 
  var imgView = angular.element(document.querySelector("."+imgviewID)); 
  element.bind('change', function(event) { 
  scope.$apply(function() { 
   modelSetter(scope, element[0].files[0]); 
  }); 
  //附件預(yù)覽 
  scope.file = (event.srcElement || event.target).files[0]; 
  fileReader.readAsDataUrl(scope.file, scope).then(function(result) { 
   imgView.attr("src",result); 
  }); 
  }); 
 } 
 } 
}]); 
 
angular.module('routerModule').factory('fileReader', ["$q", "$log", function($q, $log) { 
 var onLoad = function(reader, deferred, scope) { 
 return function() { 
  scope.$apply(function() { 
  deferred.resolve(reader.result); 
  }); 
 } 
 } 
 
 var onError = function(reader, deferred, scope) { 
 return function() { 
  scope.$apply(function() { 
  deferred.reject(reader.result); 
  }); 
 }; 
 }; 
 
 var getReader = function(deferred, scope) { 
 var reader = new FileReader(); 
 reader.onload = onLoad(reader, deferred, scope); 
 reader.onerror = onError(reader, deferred, scope); 
 return reader; 
 }; 
 
 var readAsDataURL = function(file, scope) { 
 var deferred = $q.defer(); 
 var reader = getReader(deferred, scope); 
 reader.readAsDataURL(file); 
 return deferred.promise; 
 } 
 return { 
 readAsDataUrl: readAsDataURL 
 }; 
 } 
]); 

html關(guān)鍵代碼

<section class="infogroup"> 
 <h4>法人證件</h4> 
 <div class="row relatedCard"> 
 <div class="col-md-4 txtcenter"> 
  <p>身份證正面</p> 
  <div><img ng-src="showImg/{{dealer.idCardFace}}" class="idCardFace" enlarge-pic/></div> 
  <span class="btn btn-file btn btn-xs btn-primary btn-editable picEdit"><i class="fa fa-edit"></i> 點(diǎn)擊編輯 
   <input type="file" file-model="idCardFace" img-view-id="idCardFace" /> 
  </span> 
 </div> 
 <div class="col-md-4 txtcenter"> 
  <p>身份證反面</p> 
  <div><img ng-src="showImg/{{dealer.idCardBack}}" class="idCardBack" enlarge-pic/></div> 
  <span class="btn btn-file btn btn-xs btn-primary btn-editable picEdit"><i class="fa fa-edit"></i> 點(diǎn)擊編輯 
   <input type="file" file-model="idCardBack" img-view-id="idCardBack" /> 
  </span> 
 </div>     
 </div> 
</section> 

controller.js中發(fā)送到后臺(tái)的數(shù)據(jù)

$scope.postData = { 
 dealerId: $scope.dealer.dealerId, 
 companyName: $scope.dealer.companyName, 
 companySize: $scope.dealer.companySize, 
 idCardFace: angular.element(document.querySelector(".idCardFace"))[0].src, 
 idCardBack: angular.element(document.querySelector(".idCardBack"))[0].src 
}; 
$http.post('updateDealerCertificate',$scope.postData).success(function(data){ 
<!-- 成功執(zhí)行代碼 --> 
}); 

預(yù)覽如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • AngularJS實(shí)現(xiàn)表單驗(yàn)證功能詳解

    AngularJS實(shí)現(xiàn)表單驗(yàn)證功能詳解

    這篇文章主要為大家詳細(xì)介紹了AngularJS實(shí)現(xiàn)表單驗(yàn)證功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • angularJS 入門基礎(chǔ)

    angularJS 入門基礎(chǔ)

    這篇文章主要介紹了angularJS 入門基礎(chǔ)的相關(guān)資料,需要的朋友可以參考下
    2015-02-02
  • 詳解Angular系列之變化檢測(cè)(Change Detection)

    詳解Angular系列之變化檢測(cè)(Change Detection)

    這篇文章主要介紹了詳解Angular系列之變化檢測(cè)(Change Detection),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • AngularJS中的指令全面解析(必看)

    AngularJS中的指令全面解析(必看)

    下面小編就為大家?guī)?lái)一篇AngularJS中的指令全面解析(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • AngularJS學(xué)習(xí)第二篇 AngularJS依賴注入

    AngularJS學(xué)習(xí)第二篇 AngularJS依賴注入

    這篇文章主要為大家詳細(xì)介紹了AngularJS學(xué)習(xí)第二篇,理解什么是AngularJS依賴注入,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • angularjs 源碼解析之injector

    angularjs 源碼解析之injector

    這篇文章主要介紹angular中實(shí)現(xiàn)依賴注入的”幕后英雄” — 注入器(Injector)。說(shuō)它是”幕后英雄”,是因?yàn)樗攀且蕾囎⑷氲靡詫?shí)現(xiàn)的主力。我們從源碼上來(lái)分析下他吧
    2016-08-08
  • Angular?@Injectable注解的工作原理解析

    Angular?@Injectable注解的工作原理解析

    這篇文章主要為大家介紹了Angular?@Injectable注解的工作原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Angular.JS去掉訪問(wèn)路徑URL中的#號(hào)詳解

    Angular.JS去掉訪問(wèn)路徑URL中的#號(hào)詳解

    最近天天都在用AngularJS,各類文檔也都看過(guò)好幾遍,但總是些編程上的事找不到優(yōu)雅的解決辦法。今天終于把AngularJS的項(xiàng)目訪問(wèn)路徑URL里的#號(hào)去掉了,這個(gè)問(wèn)題不見(jiàn)得有多難,關(guān)鍵是花多長(zhǎng)時(shí)間去理解AngularJS框架本身,下面來(lái)看看詳細(xì)介紹,需要的朋友可以參考下。
    2017-03-03
  • AngularJS中transclude用法詳解

    AngularJS中transclude用法詳解

    這篇文章主要介紹了AngularJS中transclude用法,詳細(xì)分析了transclude的具體功能、使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-11-11
  • AngularJS整合Springmvc、Spring、Mybatis搭建開(kāi)發(fā)環(huán)境

    AngularJS整合Springmvc、Spring、Mybatis搭建開(kāi)發(fā)環(huán)境

    這篇文章主要介紹了AngularJS整合Springmvc、Spring、Mybatis搭建開(kāi)發(fā)環(huán)境的相關(guān)資料,為學(xué)習(xí)使用AngularJS做好基礎(chǔ)準(zhǔn)備,感興趣的小伙伴們可以參考一下
    2016-02-02

最新評(píng)論