最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Angularjs实现上传图片预览功能

来源:动视网 责编:小采 时间:2020-11-27 22:31:07
文档

Angularjs实现上传图片预览功能

Angularjs实现上传图片预览功能:废话不多说了,直接给大家贴代码了,具体代码如下所示: <input type=file ng-file-select=onFileSelect($files) accept=image/*> app.factory(fileReader, function($q, $log) { var onLoad
推荐度:
导读Angularjs实现上传图片预览功能:废话不多说了,直接给大家贴代码了,具体代码如下所示: <input type=file ng-file-select=onFileSelect($files) accept=image/*> app.factory(fileReader, function($q, $log) { var onLoad


废话不多说了,直接给大家贴代码了,具体代码如下所示:

<input type="file" ng-file-select="onFileSelect($files)" accept="image/*">
app.factory("fileReader", function($q, $log) {
 var onLoad = function(reader, deferred, scope) {
 return function () {
 scope.$apply(function () {
 deferred.resolve(reader.result);
 });
 };
 };
 var onError = function (reader, deferred, scope) {
 return function () {
 scope.$apply(function () {
 deferred.reject(reader.result);
 });
 };
 };
 var onProgress = function(reader, scope) {
 return function (event) {
 scope.$broadcast("fileProgress",
 {
 total: event.total,
 loaded: event.loaded
 });
 };
 };
 var getReader = function(deferred, scope) {
 var reader = new FileReader();
 reader.onload = onLoad(reader, deferred, scope);
 reader.onerror = onError(reader, deferred, scope);
 reader.onprogress = onProgress(reader, scope);
 return reader;
 };
 var readAsDataURL = function (file, scope) {
 var deferred = $q.defer();
 var reader = getReader(deferred, scope);
 reader.readAsDataURL(file);
 return deferred.promise;
 };
 return {
 readAsDataUrl: readAsDataURL
 };
 });

选择图片后执行的方法

$scope.onFileSelect = function(files) {
 var fileIn=files[0];
 var img = new Image();
 var fileType = fileIn.name.substring(fileIn.name.lastIndexOf(".") + 1, fileIn.name.length);
 if(fileIn.size>5242880){//单位是B,此处不允许超过5M
 alert("图片不能超过5M")
 return;
 }
 if(fileType=='JPG' || fileType=='PNG' || fileType=='JPEG ' || fileType=='jpg' || fileType=='png' || fileType=='jpeg'){
 }else{
 alert("图片格式只支持:JPG,PNG,JPEG")
 return;
 }
 fileReader.readAsDataUrl(fileIn, $scope)
 .then(function(result) {
 $scope.imageSrc = result;
 console.log(img.width);
 });
 }

总结

以上所述是小编给大家介绍的Angularjs实现上传图片预览功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

文档

Angularjs实现上传图片预览功能

Angularjs实现上传图片预览功能:废话不多说了,直接给大家贴代码了,具体代码如下所示: <input type=file ng-file-select=onFileSelect($files) accept=image/*> app.factory(fileReader, function($q, $log) { var onLoad
推荐度:
标签: 图片 上传 实现
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top