首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何连接浏览的文件

如何连接浏览的文件
EN

Stack Overflow用户
提问于 2012-02-07 15:54:45
回答 1查看 547关注 0票数 0

我是编程新手。我正在尝试上传excel文件及其内容到MSSQL数据库。通过使用此代码,我可以获得文件浏览器窗口。提交后,它应该根据upload.jsp执行。

代码语言:javascript
运行
复制
     <input type="file" name="file" size="50" />

upload.jsp使用for获取浏览的文件名,然后使用适当的查询将其内容上传到数据库中。

使用ODBC可以连接Excel数据库。但是这里我需要提到Book1.xls。但是我不能从上面的代码中获取浏览过的文件名。

代码语言:javascript
运行
复制
 Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
 conn = DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Excel 
 Driver(*.xls)};DBQ=**book1.xls**; readOnly= false");

我使用下面的代码来访问浏览的文件名

代码语言:javascript
运行
复制
   String contentType = request.getContentType();
   out.println("<title>JSP File upload</title>");
   DiskFileItemFactory factory = new DiskFileItemFactory();
        // Create a new file upload handler
   ServletFileUpload upload = new ServletFileUpload(factory);
            // Parse the request to get file items.
    List fileItems = upload.parseRequest(request);
            // Process the uploaded file items
    Iterator m = fileItems.iterator();
    FileItem fi = (FileItem)m.next();
    String fileName1=fi.getName();
    out.println("Uploaded Filename: " + fileName1 + "<br>");

如何将浏览的文件名与ODBC连接。这意味着

代码语言:javascript
运行
复制
   Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
   conn = DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Excel 
   Driver(*.xls)};DBQ=**fileName1**; readOnly= false");

如何调用浏览的文件名fileName1而不是book1.xls?

EN

回答 1

Stack Overflow用户

发布于 2012-02-07 21:20:14

如果我对这个问题的理解是正确的,那么应该是这样的:

conn = DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Excel Driver(*.xls)};DBQ=**" + fileName1 + "**; readOnly= false");

ODBC编辑:从您的评论中,我意识到ODBC驱动程序正在磁盘上查找文件,但是在示例中您还没有将其写入磁盘。DiskFileItemFactory可能会将它写到某个临时文件中,但不能保证这一点,而且肯定不是"fileName1“。

所以你需要先把文件写出来。可能类似于下面的代码。这可能会像写的那样工作,但路径可能会有问题……我不确定fi.getName()返回的是完整路径还是一个名称。无论采用哪种方法,您都应该在某个位置为这些文件设置一个文件夹,并指定其完整路径。

代码语言:javascript
运行
复制
File outFile = new File(fileName1);
fi.write(outFile);
conn = DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Excel Driver(*.xls)};DBQ=**" + fileName1 + "**; readOnly= false");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9172705

复制
相关文章

相似问题

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