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

yizhihongxing

下面我将为你详细讲解"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 keyup()方法

    jQuery load()方法用于从服务器加载数据,并将返回的数据放入指定的元素中。该方法是一种简单的方式来从服务器获取HTML、XML、JSON等数据。 以下是load()方法的详细攻略: 语法 $(selector).load(url, data, callback) 参数 selector:必需,用于选择要放置返回数据的元素。 url:必需,用于指定要…

    jquery 2023年5月9日
    00
  • jQWidgets jqxGrid showstatusbar属性

    jQWidgets 是一个流行的 JavaScript UI 库,提供了许多可定制的 UI 组件。其中一个组件是 jqxGrid,它是一个用于创建网格的控件。jqxGrid 组件提供许多属性,其中之一是 showstatusbar 属性。下面是关于 jqxGrid 的 showstatusbar 属性的详细攻略: showstatusbar 属性概述 sho…

    jquery 2023年5月11日
    00
  • jQWidgets jqxGrid updating()方法

    jQWidgets jqxGrid updating()方法 jQWidgets jqxGrid 是一种表格控件,用于在 Web 应用程序中创建表格。updating() 方法是 jqGrid 控件一个方法,用于在表格中启用或禁用编辑模式。本文将详细讲解 updating() 方法的使用方法,并提供两个示例。 方法 updating() 方法用于在表格中启用…

    jquery 2023年5月10日
    00
  • jQuery不兼容input的change事件问题解决过程

    jQuery中常用的事件之一是change事件,它通常用于监听用户在文本框中输入内容时的变化。但是,在一些情况下,我们会发现change事件并不适用于input元素,比如在输入时按下ESC键或者通过JavaScript修改了input元素的值。这时需要使用其他的方法来解决。 以下是解决jQuery不兼容input元素的change事件问题的攻略: 使用inp…

    jquery 2023年5月27日
    00
  • Jquery 获取对象的几种方式介绍

    针对 “Jquery 获取对象的几种方式介绍” 这个话题,我将为您提供详细的攻略。 1. 介绍 在网页开发中,获取页面上的对象是常见的需求。Jquery是一个强大的JavaScript库,它提供了很多获取对象的方法,帮助开发者更方便地操作DOM元素。 2. 基本选择器 Jquery的基本选择器可以用于获取页面上的元素,语法如下: $("[属性=’值…

    jquery 2023年5月27日
    00
  • jQuery callbacks.has()方法

    在jQuery中,可以使用callbacks.has()方法来检查回调函数列表中是否存在指定的回调函数。以下是详细攻略,含两个示例,演示如何使用callbacks.has()方法: 语法 callbacks.has()方法语法如下: callbacks.has(callback); 参数说明: callback:必需,要检查的回调函数。 返回值: 如果回调函…

    jquery 2023年5月9日
    00
  • JQuery deferred.then()方法

    JQuery deferred.state()方法 JQuery的deferred.state()方法用于获取deferred对象的当前状态,返回值为字符串”pending”、”resolved”或”rejected”。本文将详细介绍deferred.state()方法的语法和用法,并提供两个示例说明。 语法 以下是deferred.state()方法的基本…

    jquery 2023年5月9日
    00
  • jQWidgets jqxBarcode renderAs属性

    jQWidgets jqxBarcode renderAs属性 jQWidgets是一个基于jQuery的UI组件库,提供了丰富的UI件和工具,包括表格、图表表单、历、菜单等。其中,jqxBarcode是jQWidgets中的一个组件,可以用于生成各种类型的条码。jqxBarcode提供了renderAs属性用设置条形码的渲染方式。 renderAs属性的基…

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