chrome和个性化javascript文件上传
我对文件上传进行了个性化处理,这在所有浏览器中都非常有效,然而,当我在chrome中测试它时,它添加了“c:\fakepath\”。所以我在网上的某个地方读到了替换路径的内容,所以我读了,现在的问题是,文件没有上传到我的服务器,路径发生了变化,但文件无法上传chrome和个性化javascript文件上传,javascript,Javascript,我对文件上传进行了个性化处理,这在所有浏览器中都非常有效,然而,当我在chrome中测试它时,它添加了“c:\fakepath\”。所以我在网上的某个地方读到了替换路径的内容,所以我读了,现在的问题是,文件没有上传到我的服务器,路径发生了变化,但文件无法上传 <script language="JavaScript" type="text/javascript"> function BrowseClick() { var fileinput = document.getEle
<script language="JavaScript" type="text/javascript">
function BrowseClick()
{
var fileinput = document.getElementById("picture");
fileinput.click();
}
function changebrowse()
{
var fileinput = document.getElementById("picture");
var textinput = document.getElementById("picture2");
textinput.value = fileinput.value.replace("C:\\fakepath\\", "");
}
</script>
<form method="POST" type="multipart/form-data">
<label for="test">test
<input type="text" id="picture2" readonly="true" value="myLabel"/>
<input type="button" value="myLabel" id="fakeBrowse" onclick="BrowseClick();"/>
<input name='picture' id="picture" type="file" accept="image/*" style="display: none" onChange="changebrowse();"/>
<input type="submit">
</form>
函数BrowseClick()
{
var fileinput=document.getElementById(“图片”);
fileinput.click();
}
函数changebrowse()
{
var fileinput=document.getElementById(“图片”);
var textinput=document.getElementById(“picture2”);
textinput.value=fileinput.value.replace(“C:\\fakepath\\”,“”);
}
测试
上面是我的代码,也许我遗漏了什么?有什么想法吗?如果要上载文件,至少需要表单标签上的方法和类型属性:
<form method="POST" type="multipart/form-data">
您面临的问题是,某些浏览器(如chrome)有一个安全功能,防止Javascript知道您的文件的本地完整路径,这对于客户端来说很有意义,因为您不希望服务器知道您本地机器的文件系统 一个简单的解决方案是只发布文件输入所在的整个表单 希望有帮助。是的,我的代码中有。