首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解析C:\fakepath?

如何解析C:\fakepath?
EN

Stack Overflow用户
提问于 2011-01-31 13:48:47
回答 11查看 580.7K关注 0票数 298
代码语言:javascript
运行
复制
<input type="file" id="file-id" name="file_name" onchange="theimage();">

这是我的上传按钮。

代码语言:javascript
运行
复制
<input type="text" name="file_path" id="file-path">

这是我必须显示文件的完整路径的文本字段。

代码语言:javascript
运行
复制
function theimage(){
 var filename = document.getElementById('file-id').value;
 document.getElementById('file-path').value = filename;
 alert(filename);
}

这是解决我问题的JavaScript。但警报值给了我

代码语言:javascript
运行
复制
C:\fakepath\test.csv 

莫兹拉告诉我:

代码语言:javascript
运行
复制
test.csv

但是我需要本地完全限定的文件路径。如何解决这一问题?

如果这是由于浏览器安全问题,那么应该采取什么替代方式来做到这一点呢?

EN

回答 11

Stack Overflow用户

发布于 2011-01-31 13:51:22

有些浏览器有一个安全特性,可以防止JavaScript知道文件的本地完整路径。这是有意义的-作为一个客户端,您不希望服务器知道您的本地机器的文件系统。如果所有浏览器都这么做,那就太好了。

票数 198
EN

Stack Overflow用户

发布于 2015-06-01 17:40:52

使用

代码语言:javascript
运行
复制
document.getElementById("file-id").files[0].name; 

而不是

代码语言:javascript
运行
复制
document.getElementById('file-id').value
票数 101
EN

Stack Overflow用户

发布于 2013-10-02 13:11:58

对于输入文件类型,我使用输入onchange事件上的对象onchange!这个例子使用readAsDataURL函数,因此您应该有一个标记。FileReader对象还具有获取二进制数据的readAsBinaryString,这些数据稍后可用于在服务器上创建相同的文件。

示例:

代码语言:javascript
运行
复制
var input = document.getElementById("inputFile");
var fReader = new FileReader();
fReader.readAsDataURL(input.files[0]);
fReader.onloadend = function(event){
    var img = document.getElementById("yourImgTag");
    img.src = event.target.result;
}
票数 61
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4851595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档