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客戶(hù)端實(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-08
swiper在angularjs中使用循環(huán)輪播失效的解決方法
今天小編就為大家分享一篇swiper在angularjs中使用循環(huán)輪播失效的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
AngularJS實(shí)現(xiàn)多級(jí)下拉框
這篇文章主要為大家詳細(xì)介紹了AngularJS實(shí)現(xiàn)多級(jí)下拉框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
AngularJS ionic手勢(shì)事件的使用總結(jié)
本篇文章主要介紹了AngularJS手勢(shì)事件的使用總結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
Angular?Tree?Shaking優(yōu)化機(jī)制原理詳解
這篇文章主要為大家介紹了Angular?Tree?Shaking優(yōu)化機(jī)制原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
Angular 4.x中表單Reactive Forms詳解
這篇文章主要介紹了Angular 4.x中表單Reactive Forms的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04
Angular開(kāi)發(fā)實(shí)踐之服務(wù)端渲染
這篇文章主要介紹了Angular開(kāi)發(fā)實(shí)踐之服務(wù)端渲染,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
AngularJS的ng-repeat指令與scope繼承關(guān)系實(shí)例詳解
這篇文章主要介紹了AngularJS的ng-repeat指令與scope繼承關(guān)系,結(jié)合實(shí)例形式通過(guò)ng-repeat指令詳細(xì)分析了scope繼承關(guān)系,需要的朋友可以參考下2017-01-01

