七牛上传图片,弹出多个选择文件框问题

发布于 2022-09-03 11:36:29 字数 4274 浏览 17 评论 0

使用七牛的js-sdk上传文件,第一次选择文件后未走上传流程,再选择文件时走了上传流程,同时将文件成功上传,但第二次点击选择时会弹出多个文件选择的框是什么原因?
1页面
clipboard.png
2js文件

function seleteImg(){
     uploader = Qiniu.uploader({
        runtimes: 'html5,flash,html4',      // 上传模式,依次退化
        browse_button: 'pickfiles',         // 上传选择的点选按钮,必需
        // 在初始化时,uptoken,uptoken_url,uptoken_func三个参数中必须有一个被设置
        // 切如果提供了多个,其优先级为uptoken > uptoken_url > uptoken_func
        // 其中uptoken是直接提供上传凭证,uptoken_url是提供了获取上传凭证的地址,如果需要定制获取uptoken的过程则可以设置uptoken_func
        // uptoken : '123', // uptoken是上传凭证,由其他程序生成
         //uptoken_url: '/MyShine/fileUpload/fileUploadDemoOne.do',     // Ajax请求uptoken的Url,强烈建议设置(服务端提供)
         uptoken_func: function(file){  // 在需要获取uptoken时,该方法会被调用
            alert()
             var uptoken;
             $.ajax({
                type: "POST",
                async: false,
                url: '/MyShine/fileUpload/fileUploadDemoOne.do',
                dataType: "json",
                contentType: "application/json",
                success: function(data) {
                    alert(data.uptoken);
                    uptoken = data.uptoken;
                }
                });
            return uptoken;
         },
        get_new_uptoken: true,        // 设置上传文件的时候是否每次都重新获取新的uptoken
        // downtoken_url: '/downtoken',
        // Ajax请求downToken的Url,私有空间时使用,JS-SDK将向该地址POST文件的key和domain,服务端返回的JSON必须包含url字段,url值为该文件的下载地址
        // unique_names: true,              // 默认false,key为文件名。若开启该选项,JS-SDK会为每个文件自动生成key(文件名)
        // save_key: true,                  // 默认false。若在服务端生成uptoken的上传策略中指定了sava_key,则开启,SDK在前端将不对key进行任何处理
        domain: 'boimg.mininavi.cn',     // bucket域名,下载资源时用到,必需
        //container: 'container',             // 上传区域DOM ID,默认是browser_button的父元素
        max_file_size: '100mb',             // 最大文件体积限制
        flash_swf_url: 'Moxie.swf',  //引入flash,相对路径
        max_retries: 3,                     // 上传失败最大重试次数
        //dragdrop: true,                     // 开启可拖曳上传
        //drop_element: 'container',          // 拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传
        chunk_size: '4mb',                  // 分块上传时,每块的体积
        auto_start: true,                   // 选择文件后自动上传,若关闭需要自己绑定事件触发上传
        //x_vars : {
        //    查看自定义变量
        //    'time' : function(up,file) {
        //        var time = (new Date()).getTime();
                  // do something with 'time'
        //        return time;
        //    },
        //    'size' : function(up,file) {
        //        var size = file.size;
                  // do something with 'size'
        //        return size;
        //    }
        //},
        init: {
            'FilesAdded': function(up, files) {
                plupload.each(files, function(file) {
                    // 文件添加进队列后,处理相关的事情
                });
            },
            'BeforeUpload': function(up, file) {
                   // 每个文件上传前,处理相关的事情
            },
            'UploadProgress': function(up, file) {
                   // 每个文件上传时,处理相关的事情
            },
            'FileUploaded': function(up, file, info) {
                   // 每个文件上传成功后,处理相关的事情
                   // 其中info是文件上传成功后,服务端返回的json,形式如:
                   // {
                   //    "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
                   //    "key": "gogopher.jpg"
                   //  }
                   // 查看简单反馈
                   // var domain = up.getOption('domain');
                   // var res = parseJSON(info);
                   // var sourceLink = domain + res.key; 获取上传成功后的文件的Url
            },
            'Error': function(up, err, errTip) {
                   //上传出错时,处理相关的事情
            },
            'UploadComplete': function() {
                   //队列文件处理完毕后,处理相关的事情
            },
            'Key': function(up, file) {
                // 若想在前端对每个文件的key进行个性化处理,可以配置该函数
                // 该配置必须要在unique_names: false,save_key: false时才生效

                var key = "MyImg123";
                // do something with key here
                return key
            }
        }
    });
}

如果这里的auto_start: false,既选择完文件后,点击上传按钮后再上传文件,应该如果做?
感谢您的回答

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文