Home > Web Front-end > Layui Tutorial > How do I configure Layui's upload module to restrict file types and sizes?

How do I configure Layui's upload module to restrict file types and sizes?

Robert Michael Kim
Release: 2025-03-18 12:57:21
Original
169 people have browsed it

How do I configure Layui's upload module to restrict file types and sizes?

To configure Layui's upload module to restrict file types and sizes, you need to set up the accept, exts, and size properties within the upload.render method. Below is an example of how to configure these settings:

layui.use(['upload'], function(){
    var upload = layui.upload;
    
    // Execute upload
    var uploadInst = upload.render({
        elem: '#test1' // Specify the element that triggers the upload
        ,url: '/upload/' // Upload interface
        ,accept: 'file' // Specify the type of files allowed. Options are 'images', 'file', 'video', 'audio'
        ,exts: 'jpg|png|gif' // Allowed file extensions
        ,size: 500 // Maximum file size in KB
        ,done: function(res){
            // Upload completed callback
            console.log(res)
        }
        ,error: function(){
            // Request exception callback
            console.log('Upload failed');
        }
    });
});
Copy after login

In this example, the accept property specifies the general type of files that can be uploaded, exts specifies the allowed file extensions, and size sets the maximum file size in kilobytes.

What are the specific file types that can be restricted using Layui's upload module?

Layui's upload module allows you to restrict file types through the accept and exts properties. The accept property can be set to one of the following values to specify the general type of files allowed:

  • images: Allows image files only.
  • file: Allows any file type.
  • video: Allows video files only.
  • audio: Allows audio files only.

Additionally, the exts property can be used to further restrict the allowed file types by specifying the allowed file extensions. You can list multiple extensions separated by the | character. For example, exts: 'jpg|png|gif' would allow only .jpg, .png, and .gif files.

How can I set a maximum file size limit in Layui's upload module?

To set a maximum file size limit in Layui's upload module, you need to use the size property within the upload.render method. The value of the size property is specified in kilobytes (KB). For example, to set a maximum file size of 500 KB, you would configure the upload like this:

upload.render({
    elem: '#test1'
    ,url: '/upload/'
    ,size: 500 // Maximum file size in KB
    ,done: function(res){
        console.log(res)
    }
    ,error: function(){
        console.log('Upload failed');
    }
});
Copy after login

This configuration ensures that any file larger than 500 KB will not be allowed to be uploaded.

What error messages can be customized when file type or size restrictions are violated in Layui?

Layui allows you to customize error messages when file type or size restrictions are violated using the error callback function within the upload.render method. You can customize the error message based on the type of violation. Here's an example of how to customize error messages for file type and size restrictions:

upload.render({
    elem: '#test1'
    ,url: '/upload/'
    ,accept: 'file'
    ,exts: 'jpg|png|gif'
    ,size: 500
    ,done: function(res){
        console.log(res)
    }
    ,error: function(index, upload){
        var item = this.item; // Get the current upload item
        if(upload === 'accept'){
            layer.msg('Only JPG, PNG, and GIF files are allowed');
        } else if(upload === 'size'){
            layer.msg('The file size exceeds the limit of 500 KB');
        } else {
            layer.msg('Upload failed');
        }
    }
});
Copy after login

In this example, layer.msg is used to display a custom error message when the file type (accept) or size (size) restrictions are violated. You can modify these messages to suit your needs and use other methods to display the errors if preferred.

The above is the detailed content of How do I configure Layui's upload module to restrict file types and sizes?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template