很多人JSP开发WEB的时候,总是先在本机上开发,然后移植到服务器上,在移植的过程中会出现很多的问题,中文文件名文件上传就是一个问题。
上传文件,(从WIN移植到LINUX上传的中文会变成乱码。)
在FORM里肯定要设置 ENCTYP="multipart/form-data" 然后在FORM里再放几个FILE。如果FILE中选择的是中文名的文件上传,上传到服务器文件名就变成乱码了。即使在接收页面设置了接收编码,也不行。所以笔者在操作的时候参照了以前的一个方法,在一个页面中放两个FORM ,一个 FORM1放FILE,一个FORM2放几个HIDDEN来 保存FORM1中的FILE的VALUE,然后提交到一个页面。先提交FORM2然后提交FORM1,在接收页面,由于有两个提交有个先后,所有要把先提交过来的保存到SESSION中,再接收后提交的,保证将提交的内容都接收到。我们在处理文件的时候,先接收文件名(就是FORM2里面的HIDDEN内容),然后在按照顺序接受文件,将文件和文件名对应起来。