读取上传文件的内容

时间:2014-02-28 10:21:10

标签: javascript servlets

我有一个JSP页面,其中编辑器(ACE编辑器)基于DIV标记。

1. User upload a file (ex: my.txt)
2. This file is saved in the servlet (WEB-INF/my.txt)

现在,我想打开此文件,将其内容复制到Java Script中的变量并填充DIV标记。

我该怎么做?

根据下面的答案,我了解到,一旦我获得文件的内容,我可以使用

填充我的DIV标签
var MyDiv1 = document.getElementById('DIV1');
MyDiv1.innerHTML = yourFileContent;

这解决了问题的第二部分,现在如何打开该文件并将其内容复制到JS中的var?

==================================== EDIT ========== ================================

从下面的答案中,我完成了以下步骤

步骤1:获取文件内容,我接受4个输入文件,因此我已经包含了一个文件计数器来识别正在上传的文件,以及何时上传第4个inpiut文件,其内容将被存储到字符串变量中。

Servlet.java

response.setContentType("text/html");
String LINE = "<br>";
String filename = "/WEB-INF/myfile.txt";
fileTxt = "";
ServletContext context = getServletContext();
InputStream is = context.getResourceAsStream(filename);
if (is != null) 
{
 InputStreamReader isr = new InputStreamReader(is);
 BufferedReader reader = new BufferedReader(isr);
 PrintWriter writer = response.getWriter();
 String text = "";
 while ((text = reader.readLine()) != null) {
 fileTxt = text + LINE;
 writer.print(fileTxt);
 HttpSession session = request.getSession(true);
 session.setAttribute("FileText", "fileTxt");
 }                              
 }

步骤2:提交表格进行上传,并在提交访问变量后立即填写,

my.jsp

document.myform.submit();
var name = '<%= session.getAttribute("FileText") %>';
var div = document.getElementById("editor");
div.innerHTML = name;

PS:这仍然显示一个空值,正在处理它并等待fr答案。

0 个答案:

没有答案