0
Q
角度上傳文件指令
A
回答
0
https://github.com/flowjs/ng-flow
這個工程fine.Of過程中的一些包裝指令可以在你身邊做。
0
指令代碼
.directive("fileReaderGallery", ['background', function (background) {
return {
restrict: "E",
scope: true,
templateUrl: "templates/directive.html",
replace: true,
link: function ($scope, el, attrs) {
var input = null,
drag_image_gallery = el.find('.drag_image_gallery');
$scope.dragging = false;
$scope.fileselected = false;
$scope.uploaded = false;
$scope.uploading = false;
$scope.image = null;
$scope.clearFileReader = function() {
if (!attrs.styling || !input) return false;
$scope.formTitan.elementStyles[attrs.styling][$scope.styledItem.pt]['background-image'] = '';
$scope.formSelected[attrs.styling].imageFile = null;
$scope.formSelected[attrs.styling].isImage = false;
input.value = '';
$scope.fileselected = false;
$scope.imageName = '';
};
var readfiles = function (files) {
var reader, bg;
if (files && files[0]) {
if (files.length > 1) {
return console.log("Select single file only");
}
reader = new FileReader;
reader.onload = function (e) {
if (files[0].type.indexOf('image/') !== -1) {
if (e.target.result) {
bg = {
'background-image': e.target.result,
'background-repeat': 'repeat',
'background-position': 'top',
'background-size': ''
};
$scope.uploading = true;
$scope.$apply(function() {
background.add(angular.copy(bg));
$scope.current.dcBGImage = angular.copy(bg);
$scope.imageName = files[0].name;
$scope.image = e.target.result;
$scope.fileselected = true;
console.log(files[0])
});
}
} else {
return console.log('Please select an Image');
}
};
return reader.readAsDataURL(files[0]);
}
};
$scope.clickUpload = function() {
el.find('.bg-file-reader').click();
};
drag_image_gallery[0].ondragover = function() {
$scope.dragging = true;
//drag_image_gallery.addClass('ondragover');
$scope.$digest();
return false;
};
drag_image_gallery[0].ondragleave = function() {
$scope.dragging = false;
$scope.$digest();
//drag_image_gallery.removeClass('ondragover');
};
drag_image_gallery[0].ondrop = function (e) {
$scope.dragging = false;
$scope.$digest();
//drag_image_gallery.removeClass('ondragover');
e.preventDefault();
readfiles(e.dataTransfer.files);
};
el.find('.bg-file-reader').on('change', function() {
readfiles(this.files);
});
}
};
}]);
HTML模板代碼
<div class="row upload_image text-center">
<div class="drag_image drag_image_gallery row text-center" ng-class=" {ondragover:dragging}">
Drag an Image here
</div>
OR
<div class="row text-center choose_computer">
<button ng-click="clickUpload()" class="btn btn-default">Choose from your computer</button>
<input type="file" class="bg-file-reader upload" name="gallery"/>
</div>
</div>
指令與拖放和選擇這兩個文件的功能
相關問題
- 1. 顯示角度指令文件上傳的進度條
- 2. 文件上傳角度和角度文件上傳
- 3. 將角色指令傳遞給角度指令
- 4. 角度組件/指令
- 5. 角度指令和組件
- 6. 父指令中的角度指令上下文變化
- 7. 傳遞函數角度指令
- 8. 傳遞變量角度指令
- 9. 角度傳遞參數到指令
- 10. 如何重新上傳相同的文件兩次使用角度文件上傳(nervgh /角度文件上傳)
- 11. Kendo角度指令
- 12. jwplayer角度指令
- 13. 如何在點擊角度js文件上傳時調用自定義指令?
- 14. 將角度指令範圍傳遞給指令控制器
- 15. 編譯元素指令期間傳播角度屬性指令
- 16. 以角度向父指令變量傳遞給子指令
- 17. 如何限制文件上傳角度文件上傳
- 18. 文件上傳不會與角度文件上傳和彈簧
- 19. 使用角度文件上傳來上傳多個文件
- 20. 無法使用角度文件上傳來上傳文件
- 21. Keycloak角度應用文件上傳不發送令牌
- 22. 指令訪問的角度指令
- 23. 添加指令的角度指令
- 24. 圖片上傳指令角js
- 25. 使用ngImgCrop角度文件上傳
- 26. sails.js和角度文件上傳
- 27. 角度文件上傳和預覽
- 28. 使用角度js上傳文件
- 29. 從角度上傳文件到API
- 30. 角度文件上傳隊列
它在指令中的 '背景'?它會導致錯誤! – BrMe
刪除額外的內容 – Ahmer
只是基本功能我用它來使實時背景圖像變化 – Ahmer