Angularjs上傳圖片實(shí)例詳解
•上傳圖片需要引入插件ngFileUpload,使用bower安裝方法: bower install ng-file-upload --save,安裝后需要在命名app的名字js文件中注入,如下所示:
(function() { angular.module('app', [ 'ionic','ngStorage','ngFileUpload' ]); })();
•在相應(yīng)的html中引入文件路徑:<script src="lib/ng-file-upload/ng-file-upload.min.js"></script>
•如何使用呢?在html文件中使用 ngf-select
<div class="editHeader_div" ngf-select="setStore.uploadFiles($file, $invalidFiles)"> <img class="editStoreImg" ng-src="img/{{setStore.img}}"> <p>更改頭像</p> </div>
在相應(yīng)的controller中:
//上傳單個(gè)文件 function uploadFiles(file, errFiles) { vm.imgInfo = file; console.log(file); if (file) { vm.img = file.name;//測(cè)試使用 //Service.upload('','',{file:file})//開(kāi)發(fā)使用 } }
在http請(qǐng)求如下:
//文件上傳預(yù)設(shè)配置 Upload.setDefaults({ ngfAccept: "'.jpg,.png,.gif,.jpeg'", ngfDropDisabled: 'true', ngfPattern: '.jpg,.png,.gif,.jpeg', ngfMaxSize: '2MB' }); //上傳文件 function upload(ctrl, name, param) { var deferred = $q.defer(), interfaceName = ctrl + '/' + name, backendDetail = getBackendDetail(interfaceName); //上傳文件到服務(wù)器 Upload.upload({ url: backend.url + ':' + backendDetail.port + '/' + backendDetail.service + '/' + interfaceName, data: param || {} }).then(function(data) { //service返回?cái)?shù)據(jù) var result = data.data; //200代表接口調(diào)用成功 if (data.status === 200) { //數(shù)據(jù)庫(kù)返回錯(cuò)誤信息 if (result && serviceErrors[result.returnCode]) { deferred.reject('Error Services'); swal(result.message, '錯(cuò)誤狀態(tài)碼:' + result.returnCode, 'error'); } else if (!result.dataInfo) { deferred.reject('Error Image'); swal('圖片上傳失敗', '請(qǐng)檢查圖片屬性', 'error'); } else { deferred.resolve(result); } } else { deferred.reject('Error Services'); swal('提交操作失敗', '錯(cuò)誤狀態(tài)碼:' + data.status, 'error'); } }, function(error) { deferred.reject('Error Services'); swal('提交操作失敗', '錯(cuò)誤狀態(tài)碼:' + error.status, 'error'); }); return deferred.promise; }
總結(jié)
以上所述是小編給大家介紹的Angularjs上傳圖片實(shí)例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
- angularjs客戶端實(shí)現(xiàn)壓縮圖片文件并上傳實(shí)例
- 通過(guò)AngularJS實(shí)現(xiàn)圖片上傳及縮略圖展示示例
- Angular下H5上傳圖片的方法(可多張上傳)
- AngularJs上傳前預(yù)覽圖片的實(shí)例代碼
- angularjs實(shí)現(xiàn)多張圖片上傳并預(yù)覽功能
- angularjs點(diǎn)擊圖片放大實(shí)現(xiàn)上傳圖片預(yù)覽
- angular2+nodejs實(shí)現(xiàn)圖片上傳功能
- Angularjs實(shí)現(xiàn)上傳圖片預(yù)覽功能
- AngularJS實(shí)現(xiàn)圖片上傳和預(yù)覽功能的方法分析
- Angular4實(shí)現(xiàn)圖片上傳預(yù)覽路徑不安全的問(wèn)題解決
相關(guān)文章
AngularJS基礎(chǔ) ng-keypress 指令簡(jiǎn)單示例
本文主要介紹AngularJS ng-keypress 指令,這里對(duì)ng-keypress指令的基礎(chǔ)資料整理,并附有實(shí)例代碼,需要的小伙伴參考下2016-08-08swiper在angularjs中使用循環(huán)輪播失效的解決方法
今天小編就為大家分享一篇swiper在angularjs中使用循環(huán)輪播失效的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09AngularJS實(shí)現(xiàn)多級(jí)下拉框
這篇文章主要為大家詳細(xì)介紹了AngularJS實(shí)現(xiàn)多級(jí)下拉框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03AngularJS ionic手勢(shì)事件的使用總結(jié)
本篇文章主要介紹了AngularJS手勢(shì)事件的使用總結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08Angular?Tree?Shaking優(yōu)化機(jī)制原理詳解
這篇文章主要為大家介紹了Angular?Tree?Shaking優(yōu)化機(jī)制原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10Angular 4.x中表單Reactive Forms詳解
這篇文章主要介紹了Angular 4.x中表單Reactive Forms的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04Angular開(kāi)發(fā)實(shí)踐之服務(wù)端渲染
這篇文章主要介紹了Angular開(kāi)發(fā)實(shí)踐之服務(wù)端渲染,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03AngularJS的ng-repeat指令與scope繼承關(guān)系實(shí)例詳解
這篇文章主要介紹了AngularJS的ng-repeat指令與scope繼承關(guān)系,結(jié)合實(shí)例形式通過(guò)ng-repeat指令詳細(xì)分析了scope繼承關(guān)系,需要的朋友可以參考下2017-01-01