js获取被选择文件的路径方法汇总


html代码如下:



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>file demo</title>
    <script src="jquery.js"></script>
</head>
<body>   
    <input type="file" name="fileString" multiple class="file">    
</body>
</html>


获取文件路径方法如下:


    <script>
         $("input[name=fileString]").change(function() {
            //var names = [];
			
            for (var i = 0; i < $(this).get(0).files.length; ++i) {
               // names.push($(this).get(0).files[i].name);
				//console.log($(this).get(0).files[i].mozFullPath);
				//方式一:
				var filePath = $(this).val();
				console.log(filePath);
				//方式二:
				alert($('input[type=file]').val());
            }
            //console.log(names);
			//方式三:
			alert($("input[name=fileString]").val());

        })
        
    </script>


 


注意:以上方式取到的都是文件的伪路径,由于浏览器的安全策略,Chrome浏览器及Chrome内核的浏览器是不可能获取文件在本地的真实路径的。IE浏览器可以通过设置安全级别,能获取到真实路径。



  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: JavaScript无法直接获取input file文件路径,因为出于安全考虑,浏览器不允许JavaScript访问本地文件系统。但是可以通过以下方式获取文件名: 1. 使用input元素的value属性获取文件名,例如: ``` var fileName = document.getElementById("fileInput").value; ``` 2. 使用File API获取文件名,例如: ``` var file = document.getElementById("fileInput").files[0]; var fileName = file.name; ``` 注意:以上方法只能获取文件名,无法获取文件路径。 ### 回答2: 在JavaScript获取input file文件路径需要使用File API,具体步骤如下: 1. 获取input元素 首先需要获取用于选择文件的input元素,可以使用document.getElementById()或jQuery等方法获取。例如: HTML代码: ``` <input type="file" id="file"> ``` JavaScript代码: ``` var input = document.getElementById('file'); ``` 2. 监听change事件 在input元素选择文件后,将触发change事件。需要通过监听此事件来获取文件对象并读取文件内容。例如: JavaScript代码: ``` input.addEventListener('change', function() { var file = input.files[0]; if (file) { // 执行文件处理操作 } }); ``` 在上述代码中,input.files[0]代表选择文件对象,可以获取文件名、大小等信息。 3. 读取文件内容 如果需要读取选择文件内容,可以使用FileReader对象。例如: JavaScript代码: ``` var fileReader = new FileReader(); fileReader.readAsText(file); // 以文本形式读取文件内容 fileReader.onload = function() { var content = fileReader.result; // 文件内容 }; ``` 在上述代码中,fileReader.readAsText(file)表示以文本形式读取文件内容。可以使用fileReader.readAsDataURL(file)以base64编码形式读取文件内容。在读取成功后,fileReader.result属性包含文件内容。 4. 获取文件路径 由于出于安全原因,浏览器不允许JavaScript访问文件路径。但是可以通过File API提供的URL.createObjectURL()方法生成blob URL来获取文件路径。例如: JavaScript代码: ``` var fileURL = URL.createObjectURL(file); ``` 在上述代码中,fileURL即为生成的文件blob URL,可以用于预览或下载文件。 总结: 通过以上步骤,即可在JavaScript获取input file文件路径和内容。需要注意的是,在使用完文件后,需要及时调用URL.revokeObjectURL()方法释放blob URL。 ### 回答3: JavaScript 获取 input file 文件路径需要通过 File API 实现,具体步骤如下: 1. 获取 input[file] 元素 通过 `document.querySelector` 或 `document.getElementById` 方法获取包含文件选择框的 input 元素。 ``` let fileInput = document.querySelector('input[type=file]'); ``` 2. 监听文件选择事件 通过 `addEventListener` 方法为该 input 元素注册 change 事件监听器。在该事件的回调函数中,获取选中的文件对象。 ``` fileInput.addEventListener('change', function() { let file = fileInput.files[0]; console.log(file.name); }); ``` 3. 获取文件路径 获取文件路径也需要使用 File API 中的 `FileReader` 对象。通过 `FileReader.readAsDataURL()` 方法读取文件数据并返回 data url,其中包含文件路径。读取文件是异步操作,在回调函数中处理获取到的文件路径。 ``` fileInput.addEventListener('change', function() { let file = fileInput.files[0]; let reader = new FileReader(); reader.onload = function() { console.log(this.result); }; reader.readAsDataURL(file); }); ``` 以上就是通过 JavaScript 获取 input file 文件路径的步骤。需要注意的是,由于浏览器的安全性限制,访问本地文件路径可能存在限制。因此,在实际应用中,还需考虑相关的浏览器兼容性问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值