`을 사용하여 HTML로 파일 입력 상자를 만듭니다."/> `을 사용하여 HTML로 파일 입력 상자를 만듭니다.">

 >  기사  >  웹 프론트엔드  >  자바스크립트에서 로컬 파일을 찾는 방법

자바스크립트에서 로컬 파일을 찾는 방법

PHPz
PHPz원래의
2023-04-24 10:47:29858검색

디지털 시대의 도래는 개인이나 기업에게 더욱 편리함을 가져다주었지만, 개인정보 유출, 파일 유실 등 다양한 문제를 야기하기도 했습니다. 회사 재무제표, 고객 정보 등과 같은 일부 민감한 데이터의 경우 많은 회사에서는 클라우드에 저장하기를 원하지 않고 로컬에 저장하기로 선택합니다. 로컬 파일의 위치는 브라우저에서 찾아서 접근해야 하는데, 이 글에서는 자바스크립트를 사용하여 로컬 파일의 위치를 ​​찾는 방법을 소개하겠습니다.

먼저 아래와 같이 <input type="file"> 태그를 사용하여 HTML로 파일 입력 상자를 만듭니다. <input type="file">标签,如下所示:

<input type="file" id="fileInput">

一旦用户选择了一个文件,可以将其添加到一个全局变量中,以便稍后在代码中访问。可以使用JavaScript的FileReader对象来读取文件并获取文件内容。

let selectedFile;

document.getElementById('fileInput').addEventListener('change', (event) => {
  selectedFile = event.target.files[0];
  console.log(selectedFile);
});

当用户选择文件时,change事件将被触发,这将允许我们访问所选文件的信息。我们将event对象作为参数传递给事件处理程序,然后访问event.target.files数组,该数组包含用户选择的所有文件。在这里,我们只选择用户选择的第一个文件,并将其分配给selectedFile变量。最后,我们将selectedFile对象打印到控制台,以确保已选择正确的文件。

现在,我们已经选择了本地文件并将其保存到全局变量中,接下来的任务是确定其所在的路径。在JavaScript中获取本地文件的路径通常是不可能的,因为Web浏览器出于安全考虑不允许访问用户本地文件系统的完整路径。但是,我们可以通过使用File API的URL.createObjectURL()函数来生成一个能够访问所选文件的URL。这个URL是唯一的,与任何用户上传的其他文件或URL不同,可以将其用作存储文件或将其用作其他用途的唯一ID。

现在,我们可以通过以下代码获取选定文件的URL:

const fileURL = URL.createObjectURL(selectedFile);

现在,我们已经有了一个可用于访问文件的唯一URL,但是我们如何确定文件所在的文件夹路径?事实上,这是不可能的,因为JavaScript不能访问用户的本地文件系统。当我们使用URL.createObjectURL()函数时,浏览器会自动创建一个虚拟文件路径,用于访问所选文件。因此,我们可能会知道文件的名称、类型和内容,但我们不知道其所在的文件夹路径。如果我们需要访问文件夹路径,我们需要要求用户提供该信息。例如,我们可以要求用户在文件名之后加上文件夹路径,以便存储文件时将其添加到正确的文件夹中。

综上所述,JavaScript不能直接访问用户的本地文件系统,但是我们可以使用FileReader对象和URL.createObjectURL()rrreee

사용자가 파일을 선택하면 다음을 수행할 수 있습니다. 나중에 코드에서 액세스할 수 있도록 전역 변수에 추가하세요. JavaScript의 FileReader 개체를 사용하여 파일을 읽고 파일 내용을 얻을 수 있습니다. 🎜rrreee🎜사용자가 파일을 선택하면 change 이벤트가 실행되어 선택한 파일의 정보에 액세스할 수 있습니다. event 객체를 매개변수로 이벤트 핸들러에 전달한 다음 사용자가 선택한 모든 파일이 포함된 event.target.files 배열에 액세스합니다. 여기서는 사용자가 선택한 첫 번째 파일만 선택하여 selectedFile 변수에 할당합니다. 마지막으로 selectedFile 개체를 콘솔에 인쇄하여 올바른 파일이 선택되었는지 확인합니다. 🎜🎜이제 로컬 파일을 선택하여 전역 변수에 저장했으므로 다음 작업은 해당 파일이 있는 경로를 결정하는 것입니다. 웹 브라우저는 보안 문제로 인해 사용자 로컬 파일 시스템의 전체 경로에 대한 액세스를 허용하지 않기 때문에 JavaScript에서 로컬 파일에 대한 경로를 가져오는 것이 종종 불가능합니다. 그러나 File API의 URL.createObjectURL() 함수를 사용하면 선택한 파일에 액세스할 수 있는 URL을 생성할 수 있습니다. 이 URL은 고유하며 사용자가 업로드한 다른 파일이나 URL과 다르며 파일을 저장하거나 다른 목적으로 사용할 때 고유 ID로 사용될 수 있습니다. 🎜🎜이제 다음 코드를 사용하여 선택한 파일의 URL을 얻을 수 있습니다: 🎜rrreee🎜이제 파일에 액세스하는 데 사용할 수 있는 고유한 URL이 있지만 파일이 있는 폴더 경로를 어떻게 결정합니까? ? 실제로 이는 JavaScript가 사용자의 로컬 파일 시스템에 액세스할 수 없기 때문에 불가능합니다. URL.createObjectURL() 함수를 사용하면 브라우저는 선택한 파일에 액세스하기 위한 가상 파일 경로를 자동으로 생성합니다. 따라서 파일 이름, 유형 및 내용은 알 수 있지만 해당 파일이 있는 폴더 경로는 알 수 없습니다. 폴더 경로에 액세스해야 하는 경우 사용자에게 해당 정보를 제공하도록 요청해야 합니다. 예를 들어, 파일이 저장될 때 올바른 폴더에 추가되도록 사용자에게 폴더 경로와 파일 이름을 따르도록 요구할 수 있습니다. 🎜🎜요약하자면 JavaScript는 사용자의 로컬 파일 시스템에 직접 액세스할 수 없지만 FileReader 개체와 URL.createObjectURL() 함수를 사용하여 선택한 사용자를 읽을 수 있습니다. 파일을 저장하고 웹 애플리케이션 내에서 파일 콘텐츠에 액세스할 수 있는 고유한 URL을 생성합니다. 폴더 경로에 액세스해야 하는 경우 사용자에게 해당 정보를 가져와야 합니다. 예를 들어 사용자에게 파일 이름 뒤에 폴더 경로를 입력하도록 요청하는 방식입니다. 🎜

위 내용은 자바스크립트에서 로컬 파일을 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.