在before钩子中,用this.url获取并修改
//常规使用 - 普通图片上传
var uploadInst = upload.render({
elem: '#test1',
size:"200",
url:'/aaa/bbb/ccc, //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。
before: function(obj){
this.url = `newUrl/xxx/yyy`
console.log('this.url',this.url);
//预读本地文件示例,不支持ie8
obj.preview(function(index, file, result){
$('#demo1').attr('src', result); //图片链接(base64)
});
element.progress('demo', '0%'); //进度条复位
layer.msg('上传中', {icon: 16, time: 0});
},
done: function(res){
console.log(res)
//如果上传失败
if(res.errcode == 0){
mediaId = res.media_id
}else{
return layer.msg('上传失败');
}
//上传成功的一些操作
//……
$('#demoText').html(''); //置空上传失败的状态
},
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();
});
}
//进度条
,progress: function(n, elem, e){
element.progress('demo', n + '%'); //可配合 layui 进度条元素使用
if(n == 100){
layer.msg('上传完毕', {icon: 1});
}
}
});