上傳文件是現代網頁設計中一個非常常見的需求,在很多情況下,我們需要給上傳的文件重命名,以方便后續處理和展示。JavaScript 提供了一種便捷的方式來修改上傳文件名字。
下面我們通過一些示例來演示如何使用 JavaScript 修改上傳文件名字。
var input = document.createElement('input');
input.type = 'file';
input.addEventListener('change', function(event) {
var file = event.target.files[0];
var newName = 'newFileName';
var newFile = new File([file], newName, {
type: file.type,
lastModified: file.lastModified
});
console.log(newFile.name);
});
以上代碼創建了一個 input 元素,當用戶選擇上傳文件時,會觸發 change 事件。在事件處理函數中,我們獲取了選中的上傳文件,并通過給構造函數傳入文件內容、新文件名以及類型和修改時間等信息來創建一個新的文件對象。
在這個例子中,我們通過構造函數修改了文件名,如果需要通過用戶輸入的方式指定文件名,可以使用以下代碼:
var input = document.createElement('input');
input.type = 'file';
input.addEventListener('change', function(event) {
var file = event.target.files[0];
var newName = prompt('Enter new file name:');
var newFile = new File([file], newName, {
type: file.type,
lastModified: file.lastModified
});
console.log(newFile.name);
});
在這個例子中,我們使用 prompt 彈窗來獲取用戶輸入的新文件名。
除了 File 對象外,也可以使用 FormData 對象來修改上傳文件名字。以下代碼演示了如何使用 FormData 對象修改上傳文件名
var input = document.createElement('input');
input.type = 'file';
input.addEventListener('change', function(event) {
var file = event.target.files[0];
var formData = new FormData();
formData.append('newName', 'newFileName');
formData.append('file', file);
console.log(formData.get('file').name);
});
在這個例子中,我們使用 FormData 對象將文件和新的文件名字一起上傳,并使用 get 方法獲取文件名字。
以上是幾種常見的 JavaScript 修改上傳文件名字的方法,希望這篇文章能夠幫助到您
上一篇mc和java