开发者社区> 问答> 正文

javascript中有什么办法能修改input file 对象的name属性值么?

请问有什么方法能修改浏览器中file对象的name属性么?
现在项目里 android webview 4.4 遇到一个奇怪问题
中文文件被名被转移成了“%4D%3C%2E.png”这种名字了
导致form都没发提交了。本人想把name换一下名字看看能不能继续提交form
因为提交英文名的附件是没问题的。

本人尝试过这么写是不好使的 ,用原型链好像也不行
$('#file').get(0).files[0].name="123";
screenshot

展开
收起
a123456678 2016-03-13 11:11:45 2183 0
1 条回答
写回答
取消 提交回答
  • 这个属性是只读的。无法做到本地的修改。但是你可以提示。

    <input type="file" name='upload' multiple="multiple">
        
    var formData = new FormData();
    $('input[name="upload"]').change(function(event) {
        var files = $(this)[0].files;
        var file_arr = [];
        for (var i = 0; i < files.length; i++) {
            if (files[i].name.match(/[\u4E00-\u9FA5\uF900-\uFA2D]/)) {
                alert('您选中的文件包含中文名,请修改');
            } else {
                file_arr.push(files[i])
            }
        }
        formData.append('file', file_arr);
        $.ajax({
            url: "xx.php",
            type: "POST",
            data: formData,
            processData: false, 
            contentType: false 
        });
    
    })
    2019-07-17 19:02:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载