处理上传后路径的示例

这个demo将演示,如何处理上传后路径。

uploader有个UrlsInput的子类,专门用于处理路径隐藏域,你可以通过调用UrlsInput的方法和属性,来处理路径。

点击下来的按钮,上传几个文件。

选择要上传的文件
在页面中增加一个存储路径的隐藏域
        
        
    

留意隐藏域的name必须和你组件初始化配置一致,比如对应的配置"urlsInputName":"fileUrls"。

组件初始化时会进行个判断,当存在指定name名的元素时,不再向页面插入一个隐藏域。

当文件上传成功后,组件会自动将文件路径写入到隐藏域。

组件的配置如下

        
            选择要上传的文件
        
    
如何手动获取文件路径
        var ru = new RenderUploader('#J_UploaderBtn', '#J_UploaderQueue');
        //对组件的后续操作务必放在init事件内,因为组件时可能需要异步加载模板
        ru.on("init",function(ev){
            var $ = S.Node.all,
                    //上传组件实例
                    uploader = ev.uploader,
                    //UrlsInput的实例
                    urlsInput = uploader.get('urlsInput');
            $('#J_GetUrls').on('click',function(){
                //为一个数组
                var urls = urlsInput.get('urls');
                alert('所有的url是:' + urls + ',url个数为:'+urls.length);
            })
        })
    

Uploader有个urlsInput的属性存储着UrlsInput的实例,而UrlsInput有个urls(数组)的关键属性,可以得到文件路径。

UrlsInput有二个关键方法:add()和remove(),用于添加和删除文件路径,一般无需调用。