利用File Input控制元件修改name屬性
阿新 • • 發佈:2018-12-26
接著:【FE】File Input多次新增檔案,動態刪除檔案,用來實現上傳等操作 一文
1.想方設法
我們首先查閱資料後發現 fileList
的name
屬性是隻讀的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);