通过AngularJS实现图片上传及缩略图展示示例
通过AngularJS实现图片上传及缩略图展示示例,废话不多说了,具体如下:
从项目中截出的代码
超文本标记语言部分:
section img src=' http : image/user-tui Jian/tui Jian _ banner。png '/div表单ng-submit=' submit _ form()'输入类型='text '名称='aaa '占位符='商品名称:“ng-model=”形式。goods _ name'输入类型=' text '名称=' BBB '占位符='商品网址:“ng-model=”形式。商品_网址'/文本区占位符='您宝贵的留言就是我们前进的动力!'ng-model=' form。user _ msg '/textarea div ng-repeat=' thumb中的项目'!-采用有角的循环的方式,对存入拇指的图片进行展示-标签img ng-src=' http : { { item }。img src } } '//标签跨度ng-if='项。img src ' ng-click=' img _ del($ index)'/span/div ng-repeat=' item in thumb _ default '!-这里之所以写个循环,是为了后期万一需要多个'加号'框-标签输入类型=' file ' id=' one-input ' accept=' image/* ' file-model=' images ' on change=' angular。元素(这个).范围()。img _ upload(这。文件)'//标签/分区/p(*^_^*分区)请详细描述您的需求,有助于我们快速定位并解决问题,希望我们的产品和服务能得到您的肯定/p输入类型="提交"名称="值="提交//form /div/sectionJS部分:
Module.controller('controlName ',['$scope ',' $http ',function($scope,$ http){ $ scope。reader=new FileReader();//创建一个文件阅读器接口$scope.form={ //用于绑定提交内容,图片或其他数据image:{},};$ scope。thumb={ };//用于存放图片的base64 $scope.thumb_default={ //用于循环默认的'加号'添加图片的框1111:{} };$scope.img_upload=函数(文件){ //单次提交图片的函数$scope.guid=(新日期())。()的值;//通过时间戳创建一个随机数,作为键名使用$scope.reader.readAsDataURL(文件[0]);//FileReader的方法,把图片转成base64 $范围。读者。onload=function(ev){ $ scope .$ apply(function(){ $ scope。thumb[$ scope。guid]={ imgSrc : ev。目标。结果,//接收base64 } });};var data=new FormData();//以下为像后台提交图片数据data.append('image ',文件[0]);data.append('guid ',$ scope。guid);$http({ method: 'post ',url: '/comm/test-upload.php?action=success ',data:data,header RS : { ' Content-Type ' : undefined },transformrequest : angular。身份}).成功(函数(数据){ if(数据。result _ code==' SUCCESS '){ $ scope。形式。图像[数据。guid]=数据。结果值;$scope.thumb[data.guid].状态=' SUCCESSconsole。日志($ scope)。form)} if(数据。result _ code==' FAIL '){控制台。日志(数据)} })};$ scope。img _ del=函数(键){//删除,删除的时候拇指和形式里面的图片数据都要删除,避免提交不必要的var guidArr=[];for(var p在$范围内。拇指){ guidarr。push(p);}删除$ scope。thumb[guidArr[key]];删除$ scope。形式。图像[guidArr[key]];};$ scope。submit _ form=function(){//图片选择完毕后的提交,这个提交并没有提交前面的图片数据,只是提交用户操作完毕后,到底要上传哪些,通过提交键名或者链接,后台来判断最终用户的选择,整个思路也是如此$http({ method: 'post ',url: '/comm/test.php ',data:$scope.form,}).成功(函数(数据){ console.log(数据));}) };}]);最后的效果如图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
版权声明:通过AngularJS实现图片上传及缩略图展示示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。