FastApi-17-页面美化-2

简介: FastApi-17-页面美化-2

手动上传


上一篇,我们知道 LayUI 默认会自动上传文件,那么我们怎么关闭自动上传,实现手动点击上传呢?


auto 参数


<script>
        layui.use('upload', function(){
        var upload = layui.upload;
        //执行实例
        upload.render({
            elem: '#up_function' //绑定元素
            ,url: '/upfile1/' //上传接口
            ,accept: 'file' //限制上传文件类型
            ,field: 'upload_list' //传给FastApi后端的参数名
            ,auto: false //关闭自动上传
            ,done: function(res){
            //上传完毕回调
            if (res.code == 0){
                //请求成功后的动作
            }
            }
            ,error: function(){
            //请求异常回调
            }
        });
        });
        </script>
复制代码


如上,我们增加 auto:false 参数即可。


效果


网络异常,图片无法展示
|


我们点击显示文件信息才会上传。


网络异常,图片无法展示
|


上传成功后提示


在 done 方法中添加提示


<script>
        layui.use('upload', function(){
        var upload = layui.upload;
        //执行实例
        upload.render({
            elem: '#up_function' //绑定元素
            ,url: '/upfile1/' //上传接口
            ,accept: 'file' //限制上传文件类型
            ,field: 'upload_list' //传给FastApi后端的参数名
            //,auto: false //关闭自动上传
            ,done: function(res){
            //上传完毕回调
            if (res.code == 0){
                var layer = layui.layer;
                layer.msg('上传成功!');
                console.log(res);
            }
            }
            ,error: function(){
            //请求异常回调
            }
        });
        });
        </script>
复制代码


效果


为了方便演示,我们选择自动上传并且进行提示。


网络异常,图片无法展示
|


可以看到,后台处理完后,返回 code=0,LayUI 即可对上传结果进行判断。


后台需要返回的数据格式


return {'result':'success!','code':0}
复制代码


其中,code 是必须的。


预览


为了方便演示,我们选择图片进行上传。使用LayUIobj.preview来实现预览。


代码


html 代码:


<div class="layui-upload">
        <button type="button" class="layui-btn" id="test1">上传图片</button>
        <div class="layui-upload-list">
          <img class="layui-upload-img" id="demo1">
          <p id="demoText"></p>
        </div>
      </div>
复制代码


LayUI 的前端脚本


<script>
    layui.use('upload', function(){
        var upload = layui.upload,
            $ = layui.jquery;
        //普通图片上传
        var uploadInst = upload.render({
            elem: '#test1'
            ,url: '/upfile1/' //改成您自己的上传接口
            ,field: 'upload_list' //传给FastApi后端的参数名
            ,accept: 'images'
            ,auto: false
            ,before: function(obj){
            //预读本地文件示例,不支持ie8
            obj.preview(function(index, file, result){
                $('#demo1').attr('src', result); //图片链接(base64)
            });
            }
            ,done: function(res){
            //如果上传失败
            if(res.code > 0){
                return layer.msg('上传失败');
            }
            //上传成功
            }
            ,error: function(){
            //演示失败状态,并实现重传
            var demoText = $('#demoText');
            demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
            demoText.find('.demo-reload').on('click', function(){
                uploadInst.upload();
            });
            }
        });
    });
复制代码


效果


网络异常,图片无法展示
|


感谢您的阅读,别忘了关注,点赞,评论,转发四连哟!

相关文章
|
4月前
|
数据处理 开发者 UED
FastAPI 的模板引擎简直太神奇啦!这就是构建动态 Web 页面的终极秘籍,快来一探究竟!
【8月更文挑战第31天】FastAPI 是一款高性能异步 Web 框架,可通过集成模板引擎(如 Jinja2 或 Mako)实现动态页面渲染。使用模板引擎可分离页面结构与数据,简化代码并提升可维护性。此外,它还提供丰富的语法支持,如循环和条件判断,从而增强页面展示效果及开发效率。通过简单的配置步骤,即可在 FastAPI 中启用模板引擎,显著改善用户体验。
394 1
|
前端开发 区块链 CDN
FastApi-16-页面美化-1
FastApi-16-页面美化-1
193 0
|
NoSQL 测试技术 Redis
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
|
存储 测试技术 数据安全/隐私保护
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
|
测试技术 数据安全/隐私保护
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(上)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(上)
FastAPI(八十二)实战开发《在线课程学习系统》接口开发-- 课程上架下架
FastAPI(八十二)实战开发《在线课程学习系统》接口开发-- 课程上架下架
|
NoSQL Redis 数据库
FastAPI(八十一)实战开发《在线课程学习系统》接口开发-- 推荐课程列表与课程点赞
FastAPI(八十一)实战开发《在线课程学习系统》接口开发-- 推荐课程列表与课程点赞
FastAPI(八十)实战开发《在线课程学习系统》接口开发-- 课程列表
FastAPI(八十)实战开发《在线课程学习系统》接口开发-- 课程列表
FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程
FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程
FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论
FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论