0.3.9 • Published 3 months ago

@farris/extend-file-upload v0.3.9

Weekly downloads
22
License
MIT
Repository
-
Last release
3 months ago

@farris/extend-file-upload

修改记录

修改日期修改要点
2020 年 1 月 17 日支持预览、下载
2020 年 1 月 9 日支持通过后缀过滤
2020 年 1 月 8 日初版
2020 年 2 月 10 日1.支持拖拽和批量上传 2.优化交互方式
2020 年 2 月 11 日预览组件支持列表、卡片展示方式以及自定义模板
2020 年 2 月 20 日完善文档,修改类型问题
2020 年 3 月 2 日1.统一接口,涉及预览、上传抛出事件的类型 2.附件服务器端配置修改,接口统一3.修改说明
2020年6月9日可见的重置方法修改
2020年6月11日图标异常问题修复

FFileUploadModule 附件模块

  • 提供 forRoot 方法,可以预置附件服务器端配置和附件服务器端实现方法
方法参数含义
forRoot两非必填个参数1. config:FFileUploadServerConfig,附件服务器端配置 2. uploadSer: UploadServerService 的实现类提供扩展

UploadConfig 附件配置接口

方法参数含义
urlstring,可选指定上传附件的服务器端路径
methodstring:POST 或 GET,可选指定传递到服务器端内容的方式
idstring,可选附件 ID
fieldNamestring,可选字段,当提交服务器端表单信息时,提交文件信息至此字段,默认是 file
fileUploadFile,可选附件信息
data键值对像,可选用于扩展传递服务器端的数据
headers键值对像,可选用于扩展传递服务器端的头部信息

UploadInput 附件操作事件接口

  • 继承自 UploadConfig
  • 构造传递给服务的事件,比如在上传附件 uploadFile 的时候需要单独扩展传递服务器端数据,在删除单个文件 remove 的时候,需要单独扩展传递服务器端的头部信息
方法参数含义
type可选事件名称:1、uploadAll,上传所有 2、uploadFile 上传单个 3、cancel 取消 4、cancelAll 取消所有 5、remove 删除单个文件 6、removeAll 删除所有文件 7、config 配置类型

FFileUploadServerConfig 附件服务器端配置接口

  • 继承自 UploadConfig
  • 针对服务器端方法,配置需要传递给服务器端的 data 或者 header
属性类型含义
uploadUploadInput单独用于处理附件上传时,传递到服务器端的配置
removeUploadInput单独用于处理删除单个文件时,传递到服务器端的配置

UploadServerService 附件服务类抽象类

  • 抽象类用于限定附件接口服务,可以用于适配第三方附件接口
  • 通过实现这个类,定义在上传和删除时候的服务器端方法,在模块初始化时传入。当附件上传和删除时,走实现类的 upload 和 remove 方法
方法参数返回值含义
upload两个参数: 1、files:UploadFile[],附件信息 2、event: UploadInput,事件信息包括配置服务器端扩展信息Observable单个附件上传
remove两个参数: 1、files:UploadFile[],附件信息 2、event: UploadInput,事件信息包括配置服务器端扩展信息Observable单个附件上传

上传组件

  • 默认启用文件按钮上传方式 -
     <f-file-upload [options]='上传配置项'
         (fUploadDoneEvent)="fUploadDoneHandler($event)" (fUploadRemovedEvent)="fUploadRemovedHandler($event)">
     </f-file-upload>

属性说明

属性值类型含义默认值
disabledboolean是否禁用状态
visibleboolean上传组件是否可见可与预览组件组合控制状态false
enableDropboolean是否启用拖拽进行上传false
dropTextstring拖拽区域提示文字拖拽文件
enableSelectboolean是否启用选择文件按钮true
selectTextstring选择文件按钮文字选择文件
multipleboolean是否启用多选启用后可以一次选择多个文件
optionsUploaderOptions上传配置项:1. allowedContentTypes:允许上传的文件类型; 2.maxUploads:限制附件上传个数; 3.maxFileSize:单个文件最大 KB1. 允许上传任何类型; 2.不限制附件上传个数;3.单个文件最大 12MB
extendServerConfigany每个组可以设置特殊服务参数,来覆盖默认的统一模块级配置null

事件说明

事件参数类型含义
fUploadDoneEventFUploadFileExtend[]附件上传完成后,抛出此事件
fUploadRemovedEventFUploadFileExtend[]附件删除完成后,抛出此事件

预览组件

  • 默认是列表(list)显示方式,内容:文件名,文档类型图标、下载按钮和预览按钮 -
    <f-file-preview [fileInfos]="文件信息" [itemCls]="项上单独的class">
    </f-file-preview>
  • 列表(list)是纵向平铺每项数据,卡片(card)是横向平铺每项数据 -
  • 支持自定义模板 -
    <f-file-preview [fileInfos]="文件信息" [itemCls]="项上单独的class">
         <ng-template filePreviewListTypeTemplate let-data let-readonly>
           ....
         </ng-template>
    </f-file-preview>

属性说明

属性值类型含义默认值
typestring文件布局类型:1. list 列表类型 2.card 卡片类型list
itemClsstring
fileInfosFUploadFileExtend[]附件信息数组[]
readonlyboolean只读的状态,控制附件是否可删除true

事件说明

事件参数类型含义
filePreviewEventFUploadFileExtend点击附件预览按钮时,抛出的附件信息
fileDownloadEventFUploadFileExtend点击附件下载按钮时,抛出的附件信息
fileRemoveEventFUploadFileExtend点击附件删除按钮时,抛出的附件信息

filePreviewListTypeTemplate

  • 预览组件的模板,提供预览界面自定义
  • 两个属性
    1. data:UploadFile 类型,附件信息
    2. readonly:boolean 类型,只读状态

UploaderOptions 附件上传配置接口

属性值类型含义
allowedContentTypesstring[]允许上传的文件类型,例 如'.jpg','.pdf'
maxUploadsnumber最大上传个数
maxFileSizenumber单个文件最大值 KB 为单位

FUploadFileExtend 附件文件信息扩展接口

属性值类型含义
idstring附件标识
namestring文件名
size 非必number文件大小
type非必string文件类型
extend非必any 或 null记录上传从服务器端返回的数据或者用于预览扩展的信息
extendStatus非必number记录上传服务器端返回的状态或者用于预览扩展状态
extendHeaders非必键值对象或者 null记录服务器端返回的头信息或者用于预览扩展 Header

UploadFile 附件信息接口

属性值类型含义
idstring附件上传后会自动生成 id
fileIndexnumber附件在数组中的位置
namestring文件名
sizenumber文件大小,单位(B)
typestring文件类型
formFormData提交服务器的数据
responseany 可选记录返回数据
responseStatusnumber 可选记录从服务器端返回的状态
nativeFileFile,可选上传的原始文件信息
responseHeaders键值对象,可选服务器传递的 Header 信息

This library was generated with Angular CLI version 7.2.0.

Code scaffolding

Run ng generate component component-name --project f-file-upload to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module --project f-file-upload.

Note: Don't forget to add --project f-file-upload or else it will be added to the default project in your angular.json file.

Build

Run ng build f-file-upload to build the project. The build artifacts will be stored in the dist/ directory.

Publishing

After building your library with ng build f-file-upload, go to the dist folder cd dist/f-file-upload and run npm publish.

Running unit tests

Run ng test f-file-upload to execute the unit tests via Karma.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.

0.3.9

3 months ago

0.3.8

4 months ago

0.3.7

5 months ago

0.3.6

5 months ago

0.3.5

5 months ago

0.3.2

9 months ago

0.3.1

10 months ago

0.3.4

6 months ago

0.3.3

8 months ago

0.2.10

12 months ago

0.2.7

1 year ago

0.2.6

1 year ago

0.2.9

1 year ago

0.2.8

1 year ago

0.2.5

1 year ago

0.2.4

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.2.3

1 year ago

0.2.2

1 year ago

0.1.33

2 years ago

0.1.32

2 years ago

0.1.28

2 years ago

0.1.27

2 years ago

0.1.26

2 years ago

0.1.24

2 years ago

0.1.25

2 years ago

0.1.22

3 years ago

0.1.23

3 years ago

0.1.20

3 years ago

0.1.21

3 years ago

0.1.18

3 years ago

0.1.19

3 years ago

0.1.17

3 years ago

0.1.16

3 years ago

0.1.15

3 years ago

0.1.14

3 years ago

0.1.12

3 years ago

0.1.11

3 years ago

0.1.10

3 years ago

0.1.9

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago