![](/img/trans.png)
[英]How to change text inside <label> with the file name of <input type="file" />
[英]how to change an input type=“file” name in JavaScript
我在更改文件名時遇到問題。
我遇到的主要問題是用戶從iPhone拍攝照片時。 iOS將所有剛捕獲的照片命名為image.jpg。 我試圖給用戶一個機會來更改文件名或以編程方式執行某些操作,例如“ image(1).jpg”。
我正在尋找有關在JS中重命名文件的建議或關於如何防止用戶上傳具有相同名稱的文件的其他想法。
function processSelectedFiles(fileInput) { var files = fileInput.files; var div = document.getElementById("fileList"); for (var i = 0; i < files.length; i++) { var newFileName = prompt("Filename " + files[i].name,files[i].name); if (newFileName!== null){ files[i].name=newFileName; } div.innerText += files[i].name; } }
<!-- Learn about this code on MDN: https://developer.mozilla.org/en-US/docs/Web/API/File/name --> <input type="file" multiple onchange="processSelectedFiles(this)"> </br> File Name: </br> <div id="fileList"></div>
出於安全原因,瀏覽器中的javascript無法訪問文件系統。 因此,如果您嘗試從前端獲取完整路徑,則無法在此處進行檢查
https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_fileupload_value
您可以創建一個api並將其掛在前端,以進行任何文件名更改操作等。
Firefox(mozFullPath)提供了一些替代方法,但是目前還沒有被廣泛接受。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.