选项

EasyUploader在实例化时支持很多选项配置。选项以对象键值形式传入,通过不同选项实现不同特性。

el

  • 类型:String
  • 默认值:""
  • 值示例:"el": "#btn"
  • 备注:该选项表示上传功能需要绑定的元素按钮节点。可以是button元素,或者div元素等等。当该选项存在时file选项将无效。值建议为"#id"形式而非".class"形式。

file

  • 类型:String
  • 默认值:"#file"
  • 值示例:"file": "#file"
  • 备注:该选项表示上传功能需要绑定的input(type=file)对象。仅在el选项不存在时有效。

name

  • 类型:String
  • 默认值:"file"
  • 值示例:"name": "file"
  • 备注:该选项代表创建的input file的name属性。当el选项存在时有效。必须填写该选项。

id

  • 类型:String
  • 默认值:自动创建
  • 值示例:"id": "easyuploader_file"
  • 备注:该选项代表创建的input file的id属性。当el选项存在时有效。若不填写,库将会自动创建该选项的值。

accept

  • 类型:String
  • 默认值:""
  • 值示例:"accept": "image/*"
  • 备注:该选项代表创建的input file的accept属性。当el选项存在时有效。

url

  • 类型:String
  • 默认值:""
  • 值示例:"url": "./upload.php"
  • 备注:该选项代表文件提交到的后端url。本库只负责前端部分,后端上传代码需自己编写。

upload.php简单示例

<?php

if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
    $res = array(
        'code' => 0,
        'msg' => '上传失败'
    );

    // 原文件名
    $fileName = $_FILES['file']['name'];
    // 临时文件
    $tmpName = $_FILES['file']['tmp_name'];
    // 文件类型
    $type = $_FILES['file']['type'];
    // 文件大小
    $size = $_FILES['file']['size'];

    $uploadDir = './file/';
    if (!file_exists($uploadDir) || !is_dir($uploadDir)) {
        mkdir($uploadDir);
    }

    // 打开并读取临时文件
    $fp = fopen($tmpName, 'r');
    $file = fread($fp, $size);
    $data = $file;

    // 打开文件准备写入
    $newFile = fopen($uploadDir . $fileName, 'w');
    // 写入二进制流到文件
    fwrite($newFile, $data);
    // 关闭文件
    fclose($newFile);

    $res['code'] = 1;
    $res['msg'] = '上传成功';
    $res['data'] = array(
        'file_type'=>$type,
        'path'=>$uploadDir . $fileName
    );
    echo json_encode($res);
} else {
    exit('禁止访问');
}

method

  • 类型:String
  • 默认值:"post"
  • 值示例:"method": "post"
  • 备注:该选项代表上传时的http ajax请求类型。推荐为post。

maxFileSize

  • 类型:String
  • 默认值:"2M"
  • 值示例:"maxFileSize": "10M"
  • 备注:该选项代表上传的文件的最大容量。填写值示例:"10 * 1024 * 1024","2M","500 KB","10 * 1 MB"等等。若不填写字母("KB"等),默认为B(字节)。还可填写"*"进行数值计算。注意:字母必须为大写。

autoUpload

  • 类型:Boolean
  • 默认值:true
  • 值示例:"autoUpload": true
  • 备注:该选项代表在选择文件后是否自动上传文件。若为false,需要手动调用方法上传EasyUploader.upload()

allowDrag

  • 类型:Boolean
  • 默认值:false
  • 值示例:"allowDrag": true
  • 备注:该选项代表是否开启拖曳上传功能。开启后可直接将文件拖曳至绑定元素区域实现上传。

allowFileExt

  • 类型:Array
  • 默认值:[]
  • 值示例:"allowFileExt": ["jpg", "jpeg", "png"]
  • 备注:该选项代表允许上传的文件的扩展类型。完全根据文件名的扩展名称来进行判断,不允许的扩展名称将无法上传。默认为空数组时,不限制上传文件类型。注意:虽然input的accept属性在选择文件时可以限制文件类型,但开启拖曳上传时将失效,故若要限制文件类型,建议配置此选项。另外,必须填写小写字母。

compress

  • 类型:Boolean
  • 默认值:true
  • 值示例:"compress": true
  • 备注:该选项代表在图片上传之前,是否对图片进行压缩处理。注意:仅图片有效。若为true,则会先进行压缩再进行上传。

resize

  • 类型:Object
  • 默认值:{ "maxWidth": 800, "maxHeight": 800 }
  • 值示例:"resize": { "maxWidth": 1000, "maxHeight": 1000 }
  • 备注:该选项代表图片重新绘制的最大宽高(图片宽高上的压缩)。需传入maxWidth(最大宽),maxHeight(最大高)两个键值。当compress为true时生效。

compressQuality

  • 类型:Number
  • 默认值:0.92
  • 值示例:"compressQuality": 0.9
  • 备注:该选项代表图片重新绘制的质量(图片质量上的压缩)。在重新绘制尺寸基础上再对图片质量进行压缩。当compress为true时生效。且仅对jpg、webp格式的图片有效。值必须在0-1之间,值越大质量越高。

resType

  • 类型:String
  • 默认值:"json"
  • 值示例:"resType": "json"
  • 备注:该选项代表对返回结果做格式处理。若为json,将会把返回结果转成json格式。

tipClass

  • 类型:String
  • 默认值:""
  • 值示例:"tipClass": "tip"
  • 备注:该选项为库消息提示层class属性的值。可添加class值进行样式重写

fixOrientation

  • 类型:Boolean
  • 默认值:true
  • 值示例:"fixOrientation": false
  • 备注:该选项为是否自动修正图片的方向。移动端使用相机拍照上传,并使用canvas绘制上传的照片时,会出现照片方向翻转的问题。当该选项为true时会对此进行自动修正。注意:仅jpg有效。

language

  • 类型:String
  • 默认值:"cn"
  • 值示例:"language": "en"
  • 备注:该选项为库提示信息的语言类型。比如"请选择文件"、"文件太大,最大允许为2M"等等。可选值为"en"或"cn"。

tipDurationTime

  • 类型:Number
  • 默认值:3
  • 值示例:"tipDurationTime": 1.5
  • 备注:该选项为库提示信息层显示的持续时间,单位为秒。比如设置为1.5,则提示信息层显示后将在1.5秒之后消失。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""