bootstrap中fileinput上传⽂件时,⽂件名中⽂,只显⽰后缀解
决办法
BUG描述:
上传或者导⼊⽂件名为中⽂的⽂件时,只显⽰后缀,数字或字母的⽂件名则正常显⽰。
原因:
bootstrap⽀持国际化,默认fileinput.js中⽀持的是英⽂,所以⽀持数字和字母的⽂件名,中⽂名称则根据正则表达式,替换了。解决⽅案:
⽅案⼀:
复古xxx找到fileinput.js⽂件打开,搜索slugDefault关键字,找到下⾯这个⽅法
元文宗不会游泳slugDefault: function (text) {
return isEmpty(text) ? '' : text.split(/(\\|\/)/g).pop().replace(/[^\w\-.\\\/ ]+/g, '');
},
替换成:
return isEmpty(text) ? '' : text.substr(text.lastIndexOf("\\") + 1, text.length);
结果:
老凤祥珠宝slugDefault: function (text) {
/*return isEmpty(text) ? '' : text.split(/(\\|\/)/g).pop().replace(/[^\w\-.\\\/ ]+/g, '');*/
入职手续办理流程
return isEmpty(text) ? '' : text.substr(text.lastIndexOf("\\") + 1, text.length);
},
健康家居
亲测,可以解决。
张雪怡
不多不少注意:
虽然可以解决,这种操作,感觉很暴⼒,项⽬不需要国际化⽀持时候,可以这样操作。如果需要国际化时,不建议这样!
⽅案⼆:
引⼊国际化⽂件,然后删除
<input type="file" name="file" class="file"/>
中的class="file"样式,如下:
<input type="file" name="file"/>
由于项⽬引⽤的和⽹上搜的国际化⽂件不⼀样, 该情况未成功,这个根据情况⽽定,酌情使⽤。
该情况不适⽤。