博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angular2 ng2-file-upload上传
阅读量:6909 次
发布时间:2019-06-27

本文共 3242 字,大约阅读时间需要 10 分钟。

ng2-file-upload文件上传

1、安装ng2-file-upload模块

npm install ng2-file-upload --save

2、如果使用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内容

selectedFileOnChanged($event)在 .ts文件中定义

selectedFileOnChanged(event: any) {    console.log(event.target.value);}

选择文件默认支持选择单个文件,如需支持文件多选,请在标签中添加multiple属性,即:

6、拖拽上传文件

支持多文件拖拽上传

在对应的 .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(); // 开始上传}

5、 详细介绍FileUpload

**初始化配置表**参数名                 参数类型        是否是可选值       参数说明allowedMimeType        Array
可选值 allowedFileType Array
可选值 允许上传的文件类型autoUpload boolean 可选值 是否自动上传isHTML5 boolean 可选值 是否是HTML5filters Array 可选值 headers Array
可选值 上传文件的请求头参数method string 可选值 上传文件的方式authToken string 可选值 auth验证的tokenmaxFileSize number 可选值 最大可上传文件的大小queueLimit number 可选值 removeAfterUpload boolean 可选值 是否在上传完成后从队列中移除url string 可选值 上传地址disableMultipart boolean 可选值 itemAlias string 可选值 文件标记/别名authTokenHeader string 可选值 auth验证token的请求头

参考网站:

转载地址:http://hefcl.baihongyu.com/

你可能感兴趣的文章
oracle数据库导入导出命令!
查看>>
“Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED”
查看>>
Kryo 为什么比 Hessian 快
查看>>
解读ASP.NET 5 & MVC6系列(11):Routing路由
查看>>
机器学习算法一览图
查看>>
识别出脸部以及给脸部打马赛克
查看>>
[转载]git 忽略某些文件
查看>>
jQuery 效果 - 隐藏和显示
查看>>
正则表达式的使用
查看>>
Android复制iPhone日期和时间选择器
查看>>
[C语言]进阶|指针与字符串
查看>>
检测ORACLE方法汇总数据块损坏
查看>>
Binary Tree Maximum Path Sum [leetcode] dp
查看>>
Xamarin.Android开发实践(八)
查看>>
JSON 常用数据转换
查看>>
MongoDB系列一(索引及C#如何操作MongoDB)
查看>>
解决Android SDK下载和更新失败的方法(Win系统) 和离线安装
查看>>
解决eclipse+MAVEN提示One or more constraints have not been satisfied.的问题
查看>>
nginx主配置文件 在那找怎么打开
查看>>
Android:Intent
查看>>