日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

angular图片上传

發布時間:2024/9/27 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 angular图片上传 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.




html代碼:

當input出發change事件會調用touchUpdateImg方法,傳入file對象和需要展示得到imgsmall屬性,通過FileReader對象讀取文件對象,我使用了apply使apply進行了監聽,之前不使用apply時,沒有實時展示圖片。

<div class="imglist"><div class="imglist-title">商品相冊</div><div class="imglist-content"><div class="imglist-item"><input class="oneimg" type="file" name="oneimg" onchange="angular.element(this).scope().touchUpdateImg(this.files,'imgSmall1')" ng-model="imgSmall1"><img class="handle-inp" id="imgSmall1" ng-src="{{imgSmall1}}" /><div class="mast-delete" ng-if="deleteImg[0]"><div class="delete-img" ng-click="touchDeleteImg(0,'imgSmall1')">x</div></div></div><div class="imglist-item"><input class="oneimg" type="file" name="oneimg" onchange="angular.element(this).scope().touchUpdateImg(this.files,'imgSmall2')" ng-model="imgSmall2"><img class="handle-inp" id="imgSmall2" ng-src="{{imgSmall2}}" /><div class="mast-delete" ng-if="deleteImg[1]"><div class="delete-img" ng-click="touchDeleteImg(1,'imgSmall2')">x</div></div></div><div class="imglist-item"><input class="oneimg" type="file" name="oneimg" onchange="angular.element(this).scope().touchUpdateImg(this.files,'imgSmall3')" ng-model="imgSmall3"><img class="handle-inp" id="imgSmall3" ng-src="{{imgSmall3}}" /><div class="mast-delete" ng-if="deleteImg[2]"><div class="delete-img" ng-click="touchDeleteImg(2,'imgSmall3')">x</div></div></div><div class="imglist-item"><input class="oneimg" type="file" name="oneimg" onchange="angular.element(this).scope().touchUpdateImg(this.files,'imgSmall4')" ng-model="imgSmall4"><img class="handle-inp" id="imgSmall4" ng-src="{{imgSmall4}}" /><div class="mast-delete" ng-if="deleteImg[3]"><div class="delete-img" ng-click="touchDeleteImg(3,'imgSmall4')">x</div></div></div></div></div>

js代碼

model的代碼,我在model了做了初始化的操作,就是沒選則時默認圖片

service.goodsObj['imgArr'] = {'imgBig':'image/supplier/add_big2.png','imgSmall1':'image/supplier/add_small2.png','imgSmall2':'image/supplier/add_small2.png','imgSmall3':'image/supplier/add_small2.png','imgSmall4':'image/supplier/add_small2.png'};
controller里是獲取model里定義的數組,進行一開始的賦值

$scope.imgObj = AddGoodsModel.goodsObj['imgArr'];$scope.file = AddGoodsModel.goodsObj['file'];$scope.imgBig = $scope.imgObj['imgBig'];$scope.imgSmall1 = $scope.imgObj['imgSmall1'];$scope.imgSmall2 = $scope.imgObj['imgSmall2'];$scope.imgSmall3 = $scope.imgObj['imgSmall3'];$scope.imgSmall4 = $scope.imgObj['imgSmall4']; // 上傳圖片function _touchUpdateImg(obj,imgobj){var file = obj[0];console.dir(file);// 判斷文件的類型var name = file['name'];var postfix = name.substring(name.lastIndexOf(".")+1).toLowerCase();if(postfix !="jpg" && postfix !="png" && postfix != "jpeg" && postfix != "gif"){$scope.toast('上傳的文件的類型只能是jpg、png、jpeg、gif');return false;}// 判斷是不是大圖if(imgobj == 'imgBig'){AddGoodsModel.emptyFile = false;$scope.emptyFile = false;}// 獲取文件讀取對象var reader = new FileReader();reader.readAsDataURL(file);reader.onload = function (e) { $scope.$apply(function () {// 判斷文件的大小if(file['size'] > 1048576){dealImage(e.target.result,angular.element('#'+imgobj)[0],function(base64){$scope[imgobj] = base64;$scope.imgObj[imgobj] = encodeURI($scope[imgobj]);$scope.file[imgobj]['size'] = file['size'];$scope.file[imgobj]['type'] = file['type'];});$scope.toast('文件太大,請稍等!');return false;} $scope[imgobj] = e.target.result;$scope.imgObj[imgobj] = encodeURI($scope[imgobj]);$scope.file[imgobj]['size'] = file['size'];$scope.file[imgobj]['type'] = file['type'];})} }// 使用canvas對圖片進行繪制function dealImage(path, obj, callback){var img = new Image();img.src = path;img.onload = function(){var that = this;// 默認按比例壓縮var w = that.width,h = that.height,scale = w / h;w = obj.width || w;h = obj.height || (w / scale);var quality = 0.8; // 默認圖片質量為0.7//生成canvasvar canvas = document.createElement('canvas');var ctx = canvas.getContext('2d');// 創建屬性節點var anw = document.createAttribute("width");anw.nodeValue = w*1.5;var anh = document.createAttribute("height");anh.nodeValue = h*1.5;canvas.setAttributeNode(anw);canvas.setAttributeNode(anh); ctx.drawImage(that, 0, 0, w*1.5, h*1.5);// 圖像質量if(obj.quality && obj.quality <= 1 && obj.quality > 0){quality = obj.quality;}// quality值越小,所繪制出的圖像越模糊var base64 = canvas.toDataURL('image/jpeg', quality );// 回調函數返回base64的值callback(base64);}}

總結

以上是生活随笔為你收集整理的angular图片上传的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产三级理论 | 精品肉丝脚一区二区三区 | 狠狠亚洲 | 中国亚洲老头同性gay男男… | 无套白嫩进入乌克兰美女 | 日韩精品1区 | 樱花视频在线免费观看 | 亚洲图色av | 日韩一级片网站 | 免费在线看污片 | 精品视频在线观看免费 | 93看片淫黄大片一级 | 欧美性xxxxx极品少妇 | 国产大片av | 国产成人精品亚洲精品色欲 | 成人hd| 国产中出 | 天天干视频在线观看 | 黄色一级在线观看 | 欧美做爰猛烈床戏大尺度 | 国产高清在线不卡 | 国产在线国偷精品免费看 | 美女脱了内裤喂我喝尿视频 | 摸摸摸bbb毛毛毛片 午夜爽爽影院 | 男男黄色片 | 色呦呦日韩精品 | 成年人视频在线免费观看 | 538精品在线视频 | 日韩一区二区三区在线 | 久久影视网| 午夜吃瓜 | 一级黄色aa| 麻豆一区产品精品蜜桃的特点 | 亚洲综合网址 | 天天操天天爱天天干 | 操操操操操操操操操操 | 91精品国产综合久久久蜜臀九色 | 啪啪导航| 久久成人国产精品入口 | 99亚洲精品| 免费成人小视频 | 日韩亚洲欧美在线 | 天干夜夜爽爽日日日日 | 老妇高潮潮喷到猛进猛出 | 久久久久久黄 | 1024金沙人妻一区二区三区 | 91丨九色丨国产在线 | 93看片淫黄大片一级 | 一区二区三区四区不卡 | 一级免费看片 | 中文字幕在线播放一区二区 | 午夜黄色| 国产精品久久久久久婷婷天堂 | 国产美女性生活 | 在线无码va中文字幕无码 | 国产乱码精品一区二区三区忘忧草 | 欧美 日韩 国产精品 | 野花国产精品入口 | 久久99免费视频 | 日日夜夜精品免费 | 成人免费视频免费观看 | 一级毛片黄片 | 欧美一级高清片 | 牛牛澡牛牛爽一区二区 | 国产偷自拍视频 | 午夜尤物 | 成人精品久久久 | 超碰人人在线 | 欧美丝袜一区二区三区 | 免费在线观看av网址 | 一区二区三区不卡在线观看 | 自拍1页| 欧美色成人 | 国产精品欧美一区二区三区 | 国产在线一区视频 | 国产成人啪精品 | av在线不卡一区 | 亚洲AV无码阿娇国产精品 | 国内精品小视频 | 亚洲国产精品激情在线观看 | 视频在线观看一区二区三区 | 久久无码人妻精品一区二区三区 | 九九九亚洲 | 超碰凹凸 | 深夜福利免费视频 | 91免费黄色 | 天堂av一区二区三区 | 日韩毛片在线看 | 综合色99| 国产高潮视频在线观看 | 国模人体私拍xvideos | 女同动漫免费观看高清完整版在线观看 | 午夜视频黄色 | 激情宗合 | 不卡的一区二区 | 欧产日产国产精品 | 国产午夜亚洲精品午夜鲁丝片 | 性色在线视频 | 少妇激情视频 |