在JavaScript中,出于安全考虑,浏览器不允许直接获取用户上传文件的绝对路径。这是为了防止恶意脚本获取用户的文件系统信息。
不过,你可以获取到文件的相关信息,比如文件名、大小、类型和最后修改时间等,通过File
对象实现。当用户通过<input type="file">
选择文件后,可以访问到这个File
对象。
以下是一个简单的示例,展示如何获取用户选择的文件的信息:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>File Upload Example</title>
</head>
<body>
<input type="file" id="fileInput">
<p id="fileName"></p>
<p id="fileSize"></p>
<p id="fileType"></p>
<p id="lastModified"></p>
<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
const file = event.target.files[0]; // 获取第一个文件
if (file) {
document.getElementById('fileName').textContent = 'File Name: ' + file.name;
document.getElementById('fileSize').textContent = 'File Size: ' + file.size + ' bytes';
document.getElementById('fileType').textContent = 'File Type: ' + file.type;
document.getElementById('lastModified').textContent = 'Last Modified: ' + new Date(file.lastModified).toLocaleString();
}
});
</script>
</body>
</html>
在这个示例中,当用户选择文件后,会显示文件的名称、大小、类型和最后修改时间,但不会显示文件的绝对路径。
如果你需要在服务器端处理文件,可以使用FormData
对象结合fetch
API或者XMLHttpRequest
来上传文件到服务器,然后服务器端可以通过文件系统API来获取文件的绝对路径。但请注意,即使在服务器端,也应该小心处理文件路径,避免路径遍历攻击等安全问题。
领取专属 10元无门槛券
手把手带您无忧上云