1. 程式人生 > >利用File Input控制元件修改name屬性

利用File Input控制元件修改name屬性

接著:【FE】File Input多次新增檔案,動態刪除檔案,用來實現上傳等操作 一文

1.想方設法

我們首先查閱資料後發現 fileListname屬性是隻讀的MDN
修改只讀屬性:

    Object.defineProperty(fileLists[0], 'name', {
            writable: true
     });

這樣就可以修改fileLists的name屬性了,注:writable: false是不可逆的。

2.付諸行動

    for (var i = 0; i < fileLists.length; i++) {
        var
initialFileName = fileLists[i].name; Object.defineProperty(fileLists[i], 'name', { writable: true //設定屬性為可寫 }); fileLists[i].name = timestamp+'-'+initialFileName;//在名字中加入時間戳,可以是任意的字串 filename += fileLists[i].name + ";"; } filename = filename.slice(0
, -1);