时间:2021-05-28
Angular2中有两个比较好用的上传文件的第三方库,一个是ng2-file-upload,一个是ng2-uploader。ng2-uploader是一个轻便的上传文件的支持库,功能较弱,而ng2-file-upload是一个功能比较全面的上传文件的支持库。这里主要介绍一下ng2-file-upload的使用。
ng2-file-upload文件上传
1、安装ng2-file-upload模块
npm install ng2-file-upload --save2、如果使用systemjs打包,需要在配置systemjs.config.js文件
A、在System.config的map字段中的最后一行输入以下字段:
'ng2-file-upload':'npm:ng2-file-upload'B、在System.config的packages字段中的最后一行输入:
'ng2-file-upload': { main: 'index.js', defaultExtension: 'js'}3、在app.module.ts文件中,或者您有多个模块,在需要的模块中引入一下模块
import { CommonModule } from '@angular/common';import { FileUploadModule } from 'ng2-file-upload';然后在@NgModule的imports字段中引用CommonModule和FileUploadModule。
@NgModule({ imports: [ CommonModule, FileUploadModule ]}4、在自定义的上传组件中使用ng2-file-upload
import {Component, OnInit} from "@angular/core";// A: 引入FileUpload模块import {FileUploader} from "ng2-file-upload";@Component({ selector: "my-file", templateUrl: "./app/file.html"})export class HomeFileComponent implements OnInit { // B: 初始化定义uploader变量,用来配置input中的uploader属性 public uploader:FileUploader = new FileUploader({ url: "http://localhost:3000/ng2/uploadFile", method: "POST", itemAlias: "uploadedfile" }); // C: 定义事件,选择文件 selectedFileOnChanged(event:any) { // 打印文件选择名称 console.log(event.target.value); } // D: 定义事件,上传文件 uploadFile() { // 上传 this.uploader.queue[0].onSuccess = function (response, status, headers) { // 上传文件成功 if (status == 200) { // 上传文件后获取服务器返回的数据 let tempRes = JSON.parse(response); } else { // 上传文件后获取服务器返回的数据错误 alert(""); } }; this.uploader.queue[0].upload(); // 开始上传 }}5、对应的html内容
<input type="file" ng2FileSelect [uploader]="uploader" (change)="selectedFileOnChanged($event)" />selectedFileOnChanged($event)在 .ts文件中定义selectedFileOnChanged(event: any) { console.log(event.target.value);}选择文件默认支持选择单个文件,如需支持文件多选,请在标签中添加multiple属性,即:
复制代码 代码如下:<input type="file" ng2FileSelect [uploader]="uploader" (change)="selectedFileOnChanged($event)" multiple />
6、拖拽上传文件
支持多文件拖拽上传
复制代码 代码如下:<div class="beforeDrop" ng2FileDrop [ngClass]="{dropping: isDropZoneOver}" (fileOver)="fileOverBase($event)" (onFileDrop)="fileDropOver($event)" [uploader]="uploader"><div>
在对应的 .ts文件中定义拖拽函数
fileOverBase(event) { // 拖拽状态改变的回调函数}fileDropOver(event) { // 文件拖拽完成的回调函数}7、文件上传
FileUploader有个数组类型的属性queue,里面是所有拖拽的和选择的文件,只要操作这个属性便可以进行文件上传。
uploadFileHandel() { this.uploader.queue[0].onSuccess = function (response, status, headers) { // 上传文件成功 if (status == 200) { // 上传文件后获取服务器返回的数据 let tempRes = JSON.parse(response); }else { // 上传文件后获取服务器返回的数据错误 } };this.uploader.queue[0].upload(); // 开始上传}详细介绍FileUpload
**初始化配置表**
参数名 参数类型 是否是可选值 参数说明allowedMimeType Array<string> 可选值 allowedFileType Array<string> 可选值 允许上传的文件类型autoUpload boolean 可选值 是否自动上传isHTML5 boolean 可选值 是否是HTML5filters Array 可选值 headers Array<Headers> 可选值 上传文件的请求头参数method string 可选值 上传文件的方式authToken string 可选值 auth验证的tokenmaxFileSize number 可选值 最大可上传文件的大小queueLimit number 可选值 removeAfterUpload boolean 可选值 是否在上传完成后从队列中移除url string 可选值 上传地址disableMultipart boolean 可选值 itemAlias string 可选值 文件标记/别名authTokenHeader string 可选值 auth验证token的请求头参考网站: https://valor-software.com/ng2-file-upload/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
准备Angular2环境ng-bootstrap是基于Angular2的,因此需要先准备Angular2的环境。使用ng-bootstrap下载ng-boots
前言本文主要给大家介绍了关于Angular.js文件上传控件ng-file-upload结合springMVC使用的相关内容,对于Angular.js文件上传控
实现ng2-router路由,嵌套路由首先配置angular2的时候router模块已经下载,只需要引入即可import{RouterModule,Routes
前序:现在angular2已经除了集成的angular-cli,建议大家可以基于这个来快速开发ng2的项目,不用自己再搭建环境;相关内容请前往:https://
网上可以找到的AngularJS的文件上传控件有两个:angular-file-upload:https://github.com/nervgh/angular