如何在角中使用angular-file-upload上传文件

  介绍

这篇文章给大家介绍如何在角中使用angular-file-upload上传文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>附件上传

检定结果以附件形式上传。

如何在角中使用angular-file-upload上传文件

这里先不考虑api <代码>

实现的任务就是,点击选择文件,选择之后可以清楚掉该文件。

<>强插件介绍

用到了项目映入过的一个插件,angular-file-upload。

angular-file-upload 记者:https://github.com/nervgh/angular-file-upload

进入正题,我们如何安装,还是老样子安利波npm

npm  install  angular-file-upload

插件很简单,就是一个指令,我们在它提供给我们的指令中声明一个<代码>上传>

<强>功能实现

<强>使用指令

官网给出了该指令的很多种用法,这里选择最简单的,<代码> ,单文件上传。

如何在角中使用angular-file-upload上传文件

& lt; input 类型=癴ile", nv-file-select 上传=皍ploader"/祝辞

一个文件<代码> 类型的<代码>输入> nv-file-select> 上传>

很简单的逻辑,新建一个<代码> fileupload> onAfterAddingFile 方法,就是在文件添加完成之后,也就是点击选择文件,选中文件,点击完成之后执行的一个方法。

此方法中我们直接对文件进行上传操作。

//,新建文件上传实例   时间=self.uploader  new  fileupload ();//,重写文件添加后的方法   时间=self.uploader.onAfterAddingFile 函数(fileItem), {//,才能打印日志   if 才能;(config.debug), {, console.info (& # 39; onAfterAddingFile& # 39;,, fileItem);,}//,才能上传文件   self.upload才能(fileItem);   };//,传给视图   scope.uploader 美元;=,self.uploader;

如果将文件上传封装成指令,以上代码应该方法指令的控制器<代码> 方法中执行! ! !

关于指令中的<代码>编译代码,<代码>控制器,<代码>链接>

<强>原因分析

可能是<代码> nv-file-select> <代码>联系函数中进行各种事件的绑定,绑定时就需要我们的<代码>上传>

而如果我们将其放在了 <代码>联系函数里,该指令的 <代码>联系函数是晚于<代码> nv-file-select <代码>联系函数执行的,所以无效。

<强>上传

//,上传文件   时间=self.upload 功能(数据),{//,才能上传文件   AttachmentService.uploadFile才能(data._file)   ,,,不要犹豫(function 成功(反应),{   ,,,,,,,//,将上传成功的附件绑定再ngModel中   ,,,,,,,scope.ngModel 美元;=,response.data;   ,,,,,,,//,显示上传按钮   ,,,,,,,self.showClear ();   ,,,,,},,function 误差(),{   ,,,,,,,//,提示用户上传失败   ,,,,,,,sweetAlert.swal ({   ,,,,,,,,,标题:,“对不起“,   ,,,,,,,,,:,“上传的附件不能大于1米,请确认附件是否大于1 m"   ,,,,,,,});   ,,,,,});   };

<>强清空

用户上传错了文件怎么办呢?添加一个清空按钮,如果上传文件之后就显示。

//,清空选中文件   时间=self.clear 函数(),{   self.deleteFile才能(scope.ngModel.id);   };//,删除附件   时间=self.deleteFile 函数(id), {   AttachmentService.deleteFile才能(id, function 成功(),{   ,,,//,将附件赋为空对象   ,,,scope.ngModel =,定义;   ,,,//,隐藏清空按钮   ,,,self.hideClear ();   ,,});   };      时间=scope.clear  self.clear;

但是这里会有一个问题,这里仅仅是删除了服务器上的附件,而文件的选中效果还是在的,这里还是显示选中的文件名的。

如何在角中使用angular-file-upload上传文件

解决方案就是用一个<代码> 形式把它套起来,将

如何在角中使用angular-file-upload上传文件