话不多说,直接上干货
1.参数的配置
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
browse_button | String / DOM | |
触发文件选择对话框的DOM元素,当点击该元素后便后弹出文件选择对话框。 该值可以是DOM元素对象本身,也可以是该DOM元素的id |
url | String | |
服务器端接收和处理上传文件的脚本地址,可以是相对路径(相对于当前调用 Plupload的文档),也可以是绝对路径 |
filters | Object | { } | 可以使用该参数来限制上传文件的类型,大小等,该参数以对象的形式传入, 它包括三个属性:mime_types:用来限定上传文件的类型,为一个数组, 该数组的每个元素又是一个对象,该对象有title和extensions两个属性, title为该过滤器的名称,extensions为文件扩展名,有多个时用逗号隔开。 该属性默认为一个空数组,即不做限制。 max_file_size:用来限定上传文件的大小,如果文件体积超过了该值, 则不能被选取。值可以为一个数字,单位为b,也可以是一个字符串,由数字和 单位组成,如'200kb'prevent_duplicates:是否允许选取重复的文件,为true时表示不允许,为false时表示允许,默认为false。如果两个文件的文件名和大小都相同,则会被认为是重复的文件 filters完整的配置示例如下(当然也可以只配置其中的某一项): filters: {
mime_types : [ //只允许上传图片和zip文件
{ title : "Image files", extensions : "jpg,gif,png" },
{ title : "Zip files", extensions : "zip" }
],
max_file_size : '400kb', //最大只能上传400kb的文件
prevent_duplicates : true //不允许选取重复文件
}
|
headers | Object | |
设置上传时的自定义头信息,以键/值对的形式传入,键代表头信息属性名, 键代表属性值。html4上传方式不支持设置该属性。 |
multipart | Boolean | true | 为true 时将以multipart/form-data 的形式来上传文件,为false时则以二进制的格式来上传文件。html4上传方式不支持以二进制格式来上传文件, 在flash上传方式中,二进制上传也有点问题。并且二进制格式上传还需要在 服务器端做特殊的处理。一般我们用multipart/form-data的形式来上传文 件就足够了。 |
multipart_params | Object | |
上传时的附加参数,以键/值对的形式传入,服务器端可是使用$_POST来获取 这些参数(以php为例)。比如: multipart_params: {
one: '1',
two: '2',
three: { //值还可以是一个字面量对象
a: '4',
b: '5'
},
four: ['6', '7', '8'] //也可以是一个数组
}
|
max_retries | Number | 0 | 当发生plupload.HTTP_ERROR 错误时的重试次数,为0时表示不重试 |
chunk_size | Number/String | 0 | 分片上传文件时,每片文件被切割成的大小,为数字时单位为字节。 也可以使用一个带单位的字符串,如 "200kb" 。当该值为0时表示不使用分片上传功能 |
resize | Object | |
可以使用该参数对将要上传的图片进行压缩,该参数是一个对象,里面包括5个属性: width:指定压缩后图片的宽度,如果没有设置该属性则默认为原始图片的宽度 height:指定压缩后图片的高度,如果没有设置该属性则默认为原始图片的高度 crop: quality:压缩后图片的质量,只对jpg格式的图片有效,默认为90。 可以跟 压缩后图片的宽高不会变化,但由于质量降低了,所以体积也会变小 preserve_headers:压缩后是否保留图片的元数据, 默认为 resize参数的配置示例如下: resize: {
width: 100,
height: 100,
crop: true,
quality: 60,
preserve_headers: false
}
|
drop_element | DOM/String/Array | |
指定了使用拖拽方式来选择上传文件时的拖拽区域,即可以把文件拖拽到这个区域 的方式来选择文件。该参数的值可以为一个DOM元素的id,也可是DOM元素本身, 还可以是一个包括多个DOM元素的数组。如果不设置该参数则拖拽上传功能不可用。 目前只有html5上传方式才支持拖拽上传。 |
multi_selection | Boolean | true | 是否可以在文件浏览对话框中选择多个文件,true为可以,false为不可以。 默认true,即可以选择多个文件。需要注意的是,在某些不支持多选文件的环境中, 默认值是false。比如在ios7的safari浏览器中,由于存在bug,造成不能多选文件。 当然,在html4上传方式中,也是无法多选文件的。 |
required_features |