我写完一部分程序了,发现把程序部署到服务器上之后,获取的exce文件路径为null。
总结原因:
我在本地运行程序进行测试,程序可以解析本地的excel文件,再插入到远程数据库,这样是完全可以的。这个excel文件是真实存在我硬盘中的。 但程序应该是在服务器端运行,获取本地的excel文件,我们在本地选择文件,点击上传导入到服务器端的数据库中。(服务器端运行程序的时候,程序获取的是我在本地点击上传的excel路径,服务器会在它的硬盘上找这个文件,所以报错 not find file)。
我用的commons-fileUpload。 和poi组件。 不用ftp 是否有别的解决办法?可不可以让服务器端的程序解析本地excel文件,并插入到数据库中。
7 个解决方案
#1
你首先要把本地的excel传到服务器中,然后再解析并插入数据库。
你服务器不存在改文件,肯定为null了。
你服务器不存在改文件,肯定为null了。
#2
谢谢~。道理我是知道,我现在就想知道,怎么传到远程服务器上,客户端是jsp页面。我通过什么方式能上传到远程的服务器。这步用什么实现。
#3
结贴: 是我想多了。就是一个路径问题。linux环境下 ,对新手来说,一定要把路径写死。(防止出错)
#4
把文件上传到数据库,用到的时候再读出来。Jquery有一款插件还行。
#5
呵呵,看来楼主真是新手啊,首先你的关于读取文件的思路是错误的,你如果沿着这条路走下去,一定是误解,帮你分析下吧。
1、本地可以读取到文件,那是因为服务器的路径就是本地路径
正确思路:
将本地文件传到服务器,服务器获取上传文件的本地路径没有任何意义,服务器应该获取上传文件的文件流,在request里可以取到,将这个文件流传给解析Excel的组件,并最终将其内容解析存储到数据库中。
1、本地可以读取到文件,那是因为服务器的路径就是本地路径
正确思路:
将本地文件传到服务器,服务器获取上传文件的本地路径没有任何意义,服务器应该获取上传文件的文件流,在request里可以取到,将这个文件流传给解析Excel的组件,并最终将其内容解析存储到数据库中。
#6
通过文件的上传,把文件保存到服务器的目录中。然后通过服务器的地址上传文件.......
#7
你们倒是赶紧说啊
#1
你首先要把本地的excel传到服务器中,然后再解析并插入数据库。
你服务器不存在改文件,肯定为null了。
你服务器不存在改文件,肯定为null了。
#2
谢谢~。道理我是知道,我现在就想知道,怎么传到远程服务器上,客户端是jsp页面。我通过什么方式能上传到远程的服务器。这步用什么实现。
#3
结贴: 是我想多了。就是一个路径问题。linux环境下 ,对新手来说,一定要把路径写死。(防止出错)
#4
把文件上传到数据库,用到的时候再读出来。Jquery有一款插件还行。
#5
呵呵,看来楼主真是新手啊,首先你的关于读取文件的思路是错误的,你如果沿着这条路走下去,一定是误解,帮你分析下吧。
1、本地可以读取到文件,那是因为服务器的路径就是本地路径
正确思路:
将本地文件传到服务器,服务器获取上传文件的本地路径没有任何意义,服务器应该获取上传文件的文件流,在request里可以取到,将这个文件流传给解析Excel的组件,并最终将其内容解析存储到数据库中。
1、本地可以读取到文件,那是因为服务器的路径就是本地路径
正确思路:
将本地文件传到服务器,服务器获取上传文件的本地路径没有任何意义,服务器应该获取上传文件的文件流,在request里可以取到,将这个文件流传给解析Excel的组件,并最终将其内容解析存储到数据库中。
#6
通过文件的上传,把文件保存到服务器的目录中。然后通过服务器的地址上传文件.......
#7
你们倒是赶紧说啊