Java 如何使用文件夹位置在客户端计算机上读取文件
这是jsp文件上传表单Java 如何使用文件夹位置在客户端计算机上读取文件,java,jsp,servlets,multipart,Java,Jsp,Servlets,Multipart,这是jsp文件上传表单 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>File Uploading form</title> </head> <body> <form action="./read.do" method="post"> S
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>File Uploading form</title>
</head>
<body>
<form action="./read.do" method="post">
Select the file to read: <input type="file" id="myFile" size="50">
<br />
path is: <input type="text" name="path" />
<button type="button" onclick="myFunction()">Copy path</button>
<input type="submit" value="Submit">
<p id="demo"></p>
<script>
function myFunction() {
var x = document.getElementById("myFile").value;
document.getElementsByTagName("INPUT")[3].setAttribute("value",x);
}
</script>
</form>
</body>
</html>
当我在有服务器的同一台机器上运行时,这可以正常工作。但当我尝试从其他机器访问时,代码正在搜索我机器中的路径,而不是在客户端机器上搜索如何克服此问题。
我见过其他一些方法,比如使用multipart,但是文件正在加载到服务器上,但是出于我的要求,我不应该直接将文件上传到服务器上,我必须通过文件路径在客户端机器上读取完整的文件。请给我一些想法来实现这个文件上传是一个简单的过程。getParameter()返回客户端计算机上的文件路径。相反,您需要使用方法或库来检索远程文件的inputstream 您可以尝试使用JS在客户端读取文件内容的JavaScript文件读取器API。 例:
var file=document.getElementById(“fileForUpload”).files[0];
如果(文件){
var reader=new FileReader();
reader.readAsText(文件“UTF-8”);
reader.onload=函数(evt){
document.getElementById(“fileContents”).innerHTML=evt.target.result;
}
reader.onerror=函数(evt){
document.getElementById(“fileContents”).innerHTML=“读取文件时出错”;
}
}
String path = req.getParameter("path");
FileInputStream fis = null;
File excel = new File(path);
fis = new FileInputStream(excel);