评论:基于layui多文件上传插件(原创)  [查看原文]

所属分类:输入-上传

 64842  268  18
当前第1页 / 共1页
    怀念0
    2022/8/11 14:31:26
    已经上传过的文件在上传一次,会把原本已经上传的文件继续上传 回复
    夏宇0
    2021/4/29 15:37:36

    upload.js报错

    VM4061 upload.js:5 Uncaught ReferenceError: layui is not defined;

    需要

    $.getScript('https://www.layuicdn.com/layui/layui.js',function(){

    从新加载一下才可以,有没有同问的,这个怎么解决呢

    回复
    『』0
    2020/9/23 15:46:45
    目前是通过二进制文件传输,怎么使用formdata传输呢
        燕十三@3
        2020/10/21 16:48:46

        传统的 会刷新页面

        <form id= "uploadForm" action= "XXXX" method= "post" enctype ="multipart/form-data"> 
            <input type="file" name="file">   
             <input type ="submit" value="上传"/>    
        </form>

        至于ajax这个就可以,不会刷新页面
        这是我在演示上点网络截取的部分信息 不知道是不是你要的那样

        accept: application/json, text/javascript, */*; q=0.01
        accept-encoding: gzip, deflate, br
        accept-language: zh-CN,zh;q=0.9
        content-length: 82261
        content-type: multipart/form-data; boundary=----WebKitFormBoundaryB30Ar7AE4AP3Z8RB
        Form Data(file: (binary)):
        ------WebKitFormBoundaryB30Ar7AE4AP3Z8RB
        Content-Disposition: form-data; name="file"; filename="downfile2.torrent"
        Content-Type: application/octet-stream
        ------WebKitFormBoundaryB30Ar7AE4AP3Z8RB--

        你可以在演示上传,F12选网络看下请求头和Request 参数是不是你要的
        如果你需要表单和文件一同上传的话,设定为暂不上传,然后把上传按钮绑定为你的表单提交按钮就可以实现
        至于后端处理
        java演示:

        public String uploadProgramme(MultipartFile file) {
            ...
            File files = new File(realPath);
            //判断file是否存在,如果不存在,自动创建
            if (!files.exists()) {
                files.mkdirs();
            }
            ...
            //利用文件读写将本地文件读写到服务器
            try {
                file.transferTo(files);
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            ...
        }
    回复
    220
    2020/9/16 10:35:15
    上传完成后返回值只能是200吗,我想返回一个有效路径提示我上传接口错误,请问这个判断是从哪判断的,用什么判断的?
        燕十三@1
        2020/10/21 16:19:47

        url是你的真实接口路径,就不会弹出接口无效了  具体返回信息看你业务逻辑了

        done : function(res, index, upload){
               if (res == 200) { 
                  //成功之后的操作
               }//上传成功 这里的200只是你自定义的返回状态码
        }

        假如你返回

        {
            "code": "0",
            "date": "2020-10-21T14:40:16.155",
            "msg": "成功",
            "result": "data..."
        }

        那你判断的就是res.code == 0 了,怎样判断具体看返回内容

    回复
    @Li0
    2020/8/14 10:32:05
    为什么老是提示 请求上传接口出现异常
        燕十三@1
        2020/8/18 17:31:47
        因为没有连接后台真实接口,具体的反馈信息你可以根据后台的返回状态码之类的自己写,请把url写成你们后台图片上传的测试接口
    回复
    郑先森0
    2020/8/3 19:44:47
    多文件上传没办法为每个文件提供不同的额外参数值吗
        燕十三@1
        2020/8/13 9:06:57
        upload.render({
          data: {} //可选项。额外的参数,如:{id: 123, abc: 'xxx'}
        });
    回复
    郑先森0
    2020/8/3 18:05:49
    我上传一张图片加一个name参数 多张图片就多个name参数 要怎么加 回复
    燕十三@0
    2020/7/16 10:03:54
    演示不知道为什么没有更新,没办法贴图,可以下载后查看效果
        西瓜0
        2020/7/16 10:16:56
        更新了,清一下本地缓存就行了。
    回复
    蓝天依旧0
    2019/8/10 11:31:01
    为什么总是提示上传失败,没有其他的错误提示信息么
        燕十三@1
        2019/8/27 10:56:24
        因为没有连接后台真实接口,具体的反馈信息你可以根据后台的状态码之类的自己写
    回复
    对味°0
    2019/7/22 16:13:05
    请问支持断点续传吗?
        燕十三@1
        2019/7/23 14:45:39

        支持断点续传的一般是C/S,B/S是没办法支持断点续传的,如果是很大的文件或者视频文件的话,建议您选择其他插件,大文件上传的话一般使用并发分片上传的模式,flash文件流也可以,这样的话即使上传失败也不会重新上传整个文件,而且文件体积大、量比较多,上传的话还应该考虑md5校验,Web前端可使用百度的 webuploader H5大文件分片上传插件;

        官网地址:

        http://fex.baidu.com/webuploader/

        WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS 6+, android 4+。两套运行时,同样的调用方式,可供用户任意选用。采用大文件分片并发上传,极大的提高了文件上传效率。
        分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。
        当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。(摘自WebUploader官网)

    回复

讨论这个项目(18)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

取消回复