PrimeNG之FileUpload
--文件上传是一个支持拖放,多文件上传,自动上传,进度跟踪和验证的上传。
Import
import {FileUploadModule} from 'primeng/primeng';
Getting Started
文件上传需要一个URL属性为上传目标和一个名称来标识在后端的文件。
<p-fileUpload name="myfile[]" url="http://localhost:3000/upload"></p-fileUpload>
Multiple Uploads
只有一个文件可以同时被选择,允许选择倍数启用多个选项
<p-fileUpload name="myfile[]" url="http://localhost:3000/upload" multiple="multiple"></p-fileUpload>
DragDrop
文件选择也可以通过拖放一个或多个到组件的内容部分来完成。
Auto Uploads
启用自动属性后,一旦文件选择完成或文件在下拉区域被拖放,上传将开始。
<p-fileUpload name="myfile[]" url="http://localhost:3000/upload" multiple="multiple"
accept="image/*" auto="auto"></p-fileUpload>
File Types
可选的文件类型可以接受属性限制,下面的例子只允许上传图片
<p-fileUpload name="myfile[]" url="http://localhost:3000/upload" multiple="multiple"
accept="image/*"></p-fileUpload>
File Size
最大文件大小可以限制使用MAXFILESIZE属性定义的字节数。
<p-fileUpload name="myfile[]" url="http://localhost:3000/upload" multiple="multiple"
accept="image/*" maxFileSize="1000000"></p-fileUpload>
为了自定义默认消息使用invalidfilesizemessagesummary和invalidfilesizemessagedetail选项。总之{ 0}占位符是指文件名和详细的文件大小。
- invalidFileSizeMessageSummary: '{0}: Invalid file size, ' --(“{ 0 }:无效的文件大小,”)
- invalidFileSizeMessageDetail: string = 'maximum upload size is {0}.' --(字符串的最大上传大小是{ 0 })
Templating
文件列表UI是可定制的使用ng-template称为“file”,得到的文件实例作为隐式变量。命名为“内容”的第二个NG模板可用于将自定义内容放置在内容节中,这将有助于实现用户界面管理上传的文件,例如删除它们。第三和最后NG模板选项是“toolbar”,以显示自定义内容工具栏。
<p-fileUpload name="myfile[]" url="http://localhost:3000/upload" multiple="multiple"
accept="image/*" maxFileSize="1000000">
<ng-template pTemplate="toolbar">
<div>Upload 3 Files</div>
</ng-template>
<ng-template let-file pTemplate="file">
<div>Custom UI to display a file</div>
</ng-template>
<ng-template pTemplate="content">
<div>Custom UI to manage uploaded files</div>
</ng-template>
</p-fileUpload>
Request Customization
XHR请求上传文件可以定制使用onbeforeupload回调通过XHR实例和表单对象作为事件参数。
Attributes
| Name | Type | Default | Description |
|---|---|---|---|
| name | string | null | Name of the request parameter to identify the files at backend. |
| url | string | null | Remote url to upload the files. |
| multiple | boolean | false | Used to select multiple files at once from file dialog. |
| accept | string | false | Pattern to restrict the allowed file types such as "image/*". |
| disabled | boolean | false | Disables the upload functionality. |
| auto | boolean | false | When enabled, upload begins automatically after selection is completed. |
| maxFileSize | number | null | Maximum file size allowed in bytes. |
| invalidFileSizeMessageSummary | string | "{0}: Invalid file size, " | Summary message of the invalid fize size. |
| invalidFileSizeMessageDetail | string | "maximum upload size is {0}." | Detail message of the invalid fize size. |
| invalidFileTypeMessageSummary | string | "{0}: Invalid file type, " | Summary message of the invalid fize type. |
| invalidFileTypeMessageDetail | string | "allowed file types: {0}." | Detail message of the invalid fize type. |
| style | string | null | Inline style of the component. |
| styleClass | string | null | Style class of the component. |
| previewWidth | number | 50 | Width of the image thumbnail in pixels. |
| chooseLabel | string | Choose | Label of the choose button. |
| uploadLabel | string | Upload | Label of the upload button. |
| cancelLabel | string | Cancel | Label of the cancel button. |
Events
| Name | Parameters | Description |
|---|---|---|
| onBeforeUpload | event.xhr: XmlHttpRequest instance. event.formData: FormData object. |
Callback to invoke before file upload begins to customize the request such as post parameters before the files. |
| onBeforeSend | event.xhr: XmlHttpRequest instance. event.formData: FormData object. |
Callback to invoke before file send begins to customize the request such as adding headers. |
| onUpload | event.xhr: XmlHttpRequest instance. event.files: Uploaded files. |
Callback to invoke when file upload is complete. |
| onError | event.xhr: XmlHttpRequest instance. event.files: Files that are not uploaded. |
Callback to invoke if file upload fails. |
| onClear | -. | Callback to invoke when files in queue are removed without uploading. |
| onSelect | event.originalEvent: Original browser event. event.files: List of selected files. |
Callback to invoke when file upload is complete. |
Styling
以下是结构式的类列表,对于主题类主题页面访问。
| Name | Element |
|---|---|
| ui-fileupload | Container element |
| ui-fileupload-buttonbar | Header containing the buttons |
| ui-fileupload-content | Content section |
demo code
export class FileUploadDemo {
msgs: Message[];
uploadedFiles: any[] = [];
onUpload(event) {
for(let file of event.files) {
this.uploadedFiles.push(file);
}
this.msgs = [];
this.msgs.push({severity: 'info', summary: 'File Uploaded', detail: ''});
}
}
FileUploadDemo.ts
<p-growl [value]="msgs"></p-growl> <p-fileUpload name="demo[]" url="http://localhost:3000/upload" (onUpload)="onUpload($event)"
multiple="multiple" accept="image/*" maxFileSize="1000000">
<ng-template pTemplate type="content">
<ul *ngIf="uploadedFiles.length">
<li *ngFor="let file of uploadedFiles">{{file.name}} - {{file.size}} bytes</li>
</ul>
</ng-template>
</p-fileUpload>
FileUploadDemo .html
参考资料
https://www.primefaces.org/primeng/#/fileupload
PrimeNG之FileUpload的更多相关文章
- .JavaWeb文件上传和FileUpload组件使用
.JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...
- C#-WebForm-文件上传-FileUpload控件
FileUpload - 选择文件,不能执行上传功能,通过点击按钮实现上传 默认选择类型为所有类型 //<上传>按钮 void Button1_Click(object sender, E ...
- FileUpload组件
package com.itheima.servlet; import java.io.File; import java.io.FileOutputStream; import java.io.IO ...
- 如何实现修改FileUpload样式
这里先隐藏FileUpload 然后用一个input button和一个text来模拟FileUpload 具体代码为 <asp:FileUpload ID="FileUpload1& ...
- 上传文件fileupload
文件上传: 需要使用控件-fileupload 1.如何判断是否选中文件? FileUpload.FileName - 选中文件的文件名,如果长度不大于0,那么说明没选中任何文件 js - f.va ...
- fileupload图片预览功能
FileUpload上传图片前首先预览一下 看看效果: 在专案中,创建aspx页面,拉上FileUpload控件一个Image,将用来预览上传时的图片. <%@ Page Language=&q ...
- textbox button 模拟fileupload
方案一: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.asp ...
- FileUpload 上传文件,并实现c#使用Renci.SshNet.dll实现SFTP文件传输
fileupload上传文件和jquery的uplodify控件使用方法类似,对服务器控件不是很熟悉,记录一下. 主要是记录新接触的sftp文件上传.服务器环境下使用freesshd搭建好环境后,wi ...
- C# 自定义FileUpload控件
摘要:ASP.NET自带的FileUpload控件会随着浏览器的不同,显示的样式也会发生改变,很不美观,为了提高用户体验度,所以我们会去自定义FileUpload控件 实现思路:用两个Button和T ...
随机推荐
- Python并行实例
任务 def single(): # 单进程单线程实现 s = 0 for i in range(1, N): s += math.sqrt(i) return s 结论 Python多线程无法利用多 ...
- 单片机成长之路(51基础篇) - 015 关于sdcc的多文件编译范例二
本文是续 单片机成长之路(51基础篇) - 009 关于sdcc的多文件编译范例(一)编写的. 在实际的工作中,单片机的头文件和功能函数不可能同全部放在同一个文件夹下面,我们把单片机成长之路(51基础 ...
- 分析轮子(七)- RandomAccess.java
1:还是先上一个类的继承关系比较图吧! 2:看一下 RandomAccess.java 的源码,空空如也,什么都没有,那她有什么用处呢? /** * Marker interface used by ...
- Easyui中 alert 带回调函数的 消息框
带回调函数的 消息框: $.messager.alert({ title:'消息', msg:'电话号码 只能是数字!', icon: 'info', width: 300, top:200 , // ...
- ORACLE 存储函数
前奏: 必要的概念: ORACLE 提供能够把 PL/SQL 程序存储在数据库中.并能够在不论什么地方来运行它.这样就叫存储过 程或函数. 过程和函数统称为 PL/SQL 子程序.他们是被命名的 PL ...
- centos7环境安装ElasticSearch
操作系统: Centos7 .64位 ========================================= 查看系统版本和系统位数: [root@localhost /]# cat /e ...
- hdoj:2075
A|B? Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- hdoj:2058
#include <iostream> #include <cmath> #include <vector> using namespace std; stru ...
- PCL点云配准(3)
(1)关于点云的配准 1.首先给定源点云与目标点云. 2.提取特征确定对应点 3.估计匹配点对应的变换矩阵 4.应用变换矩阵到源点云到目标点云的变换 配准的流程图 通过特征点的匹配步骤 (1)计算源点 ...
- C#访问gsoap的服务--可用
问题来源: C++开发一个webservice,然后C#开发客户端,这样就需要C#的客户端访问gsoap的服务端.(大家都知道gsoap是C/C++开发webservice的最佳利器) 为什么不考虑直 ...