-
- 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ā)送到后臺的數(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ù)覽如下:
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報。