jquery组件WebUploader文件上传用法详解

下面我将为你详细讲解"jquery组件WebUploader文件上传用法详解"。

一、WebUploader简介

WebUploader是由百度前端开发所有的一款简单易用、灵活且可扩展的文件上传组件,可用于PC端和移动端的文件上传。

二、WebUploader使用步骤

  1. 下载WebUploader组件;
  2. 引入必要的js和css文件;
  3. 创建容器用于显示上传组件;
  4. 实例化WebUploader;
  5. 设置相关参数;
  6. 绑定事件监听。

示例1:实现简单文件上传

html代码如下:

<div id="uploader">
    <div class="file-list"></div>
    <div class="btns">
        <button id="picker">选择文件</button>
        <button id="startUpload">上传文件</button>
    </div>
</div>

js代码如下:

// 创建上传组件
var uploader = WebUploader.create({
    // 指定选择文件的按钮
    pick: '#picker',
    // 是否开启自动上传
    auto: false,
    // 文件上传请求的参数(可选)
    formData: {
        'user': 'guest'
    },
    // 选完文件后,是否自动上传。
    auto: true,
    // 文件上传数量限制
    fileNumLimit: 5,
    // 上传文件大小限制,单位为字节(B),默认2G。可以具体指定某个文件的大小限制
    fileSizeLimit: 2 * 1024 * 1024,
    fileSingleSizeLimit: 500 * 1024,
    // 服务器上传接口
    server: 'upload.php'
});

// 添加文件选择框事件
$('#picker').click(() => {
    // 选择文件
    uploader.chooseFile();
});

// 绑定上传事件
$('#startUpload').click(() => {
    // 执行上传操作
    uploader.upload();
});

// 监听文件上传成功事件
uploader.on('uploadSuccess', (file, response) => {
    console.log(response);
    alert('文件上传成功');
});

// 监听文件上传出错事件
uploader.on('uploadError', function (file) {
    alert('文件上传出错');
});

// 监听文件上传完成事件
uploader.on('uploadComplete', function (file) {
    alert('文件上传完成');
});

示例2:实现图片上传并显示预览

html代码如下:

<div id="uploader">
    <div class="file-list"></div>
    <div class="btns">
        <button id="picker">选择图片</button>
        <button id="startUpload">上传图片</button>
    </div>
    <div id="preview"></div>
</div>

js代码如下:

// 创建上传组件
var uploader = WebUploader.create({
    // 指定选择文件的按钮
    pick: '#picker',
    // 是否开启自动上传
    auto: false,
    // 选完文件后,是否自动上传。
    auto: true,
    // 文件上传数量限制
    fileNumLimit: 5,
    // 上传文件大小限制,单位为字节(B),默认2G。可以具体指定某个文件的大小限制
    fileSizeLimit: 2 * 1024 * 1024,
    fileSingleSizeLimit: 500 * 1024,
    // 上传的文件类型(可选)
    accept: {
        title: 'Images',
        extensions: 'gif,jpg,jpeg,bmp,png',
        mimeTypes: 'image/gif,image/jpeg,image/png,image/bmp'
    },
    // 服务器上传接口
    server: 'upload.php'
});

// 添加文件选择框事件
$('#picker').click(() => {
    // 选择文件
    uploader.chooseFile();
});

// 绑定上传事件
$('#startUpload').click(() => {
    // 执行上传操作
    uploader.upload();
});

// 监听文件加入队列事件
uploader.on('fileQueued', (file) => {
    console.log(file);
    // 获取预览图片容器
    var $preview = $('#preview');

    // 创建图片预览对象
    var img = $('<img />', {
        src: '',
        style: 'width: 200px;height: 200px;margin-right: 10px;'
    });

    // 添加图片预览对象到容器中
    $preview.append(img);

    // 创建读取文件对象
    var reader = new FileReader();

    // 图片预览事件监听
    reader.onload = (function (f) {
        return function (e) {
            // 将图片预览对象的src属性设置为读取文件事件的result属性值(即文件DataURL)
            img.attr('src', e.target.result);
        };
    })(file);

    // 将当前文件读取为DataURL
    reader.readAsDataURL(file.getSource());
});

// 监听文件上传成功事件
uploader.on('uploadSuccess', (file, response) => {
    console.log(response);
    alert('文件上传成功');
});

// 监听文件上传出错事件
uploader.on('uploadError', function (file) {
    alert('文件上传出错');
});

// 监听文件上传完成事件
uploader.on('uploadComplete', function (file) {
    alert('文件上传完成');
});

以上就是WebUploader的基本用法了,如果你想了解更多详细的用法可以去WebUploader官网查看其API文档及示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jquery组件WebUploader文件上传用法详解 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • jQuery Mobile页面domCache选项

    jQuery Mobile页面domCache选项是一个非常实用的功能,它可以启用或禁用DOM缓存,给用户提供更好的用户体验。在启用DOM缓存后,JavaScript和CSS文件将只加载一次,每次重新加载页面时,页面将从缓存中读取,减少了页面的加载时间和服务器的请求量。本文将详细介绍jQuery Mobile页面domCache选项的使用方法和示例说明。 什…

    jquery 2023年5月12日
    00
  • jQWidgets jqxDateTimeInput clearString属性

    以下是关于“jQWidgets jqxDateTimeInput clearString属性”的完整攻略,包含两个示例说明: 简介 jqxDateTimeInput 控件的 clearString 属性用于设置日期时间输入框的清除按钮文本。 完整攻略 以下是 jqxDateTimeInput 控件 clearString 属性的完整攻略。 定义 clearS…

    jquery 2023年5月11日
    00
  • jQWidgets jqxDropDownList closeDelay属性

    jQWidgets jqxDropDownList closeDelay属性详解 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件和工具包。jqxDropDownList是Widgets组件下的组件。本文将详细介绍jqxDropDownList的closeDelay`属性,包括用法、语法和示例。 closeDelay属性的基本语法 c…

    jquery 2023年5月10日
    00
  • jQWidgets jqxChart padding属性

    以下是关于“jQWidgets jqxChart padding属性”的完整攻略,包含两个示例说明: 简介 jqxChart 控件的 padding 属性是一个非常有用的,它可以图表的内边距。使用 padding 属性,可以方便地调整图表的布局和样式。 细攻略 以下是 jqChart 控件 padding 属性的详细攻略: padding 属性 paddin…

    jquery 2023年5月11日
    00
  • 如何用jQuery取消除一个复选框外的所有其他复选框

    使用jQuery可以轻松地取消除一个复选框外的所有其他复选框。以下是详细的攻略,包含两个示例,演示如何用jQuery取消除一个复选框外的所有其他复选框: 步骤1:引入jQuery库 在使用之前,需要先HTML文引jQuery库。可以通过以下方式引入: <script src="https://code.jquery.com/jquery-3.…

    jquery 2023年5月9日
    00
  • Jquery 表单取值赋值的一些基本操作

    下面是关于jQuery表单取值赋值的一些基本操作的完整攻略,希望对您有所帮助。 获取表单元素的值 要获取表单元素的值,可以使用 jQuery 的 val() 方法。下面是一个获取文本框的值的示例: // 获取文本框的值 var value = $("input[type=’text’]").val(); 上面的代码通过选择器获取了一个类型…

    jquery 2023年5月27日
    00
  • 如何在jQuery中双击一个div元素来切换背景颜色

    在jQuery中,我们可以使用dblclick()方法来双击一个div元素来切换背景颜色。以下是使用jQuery双击一个div元素来切换背景颜色的完整攻略: 步骤一:创建HTML结构 首先,需要创建一个包含div元素的HTML结构。以下是一个例子: <!DOCTYPE html> <html> <head> <tit…

    jquery 2023年5月9日
    00
  • jQuery EasyUI API 中文文档 – Documentation 文档

    jQuery EasyUI是一款基于jQuery扩展和封装的UI插件集合,具有丰富的UI组件、易于操作和优秀的性能。该插件的中文文档详细介绍了各个组件的使用方法和API文档,对于想要使用jQuery EasyUI的开发者非常友好。 以下是使用“jQuery EasyUI API 中文文档 – Documentation 文档”的完整攻略: 在浏览器中打开jQ…

    jquery 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部