当前位置: 技术问答>java相关
有一个疑问,在jsp的页中有一个选择文件的<input type="file" name="upload_file_name">,当我选择了本地的一个文件的时候,按下提交,提
来源: 互联网 发布时间:2015-09-20
本文导语: 有一个疑问,在jsp的页中有一个选择文件的,当我选择了本地的一个文件的时候,按下提交,提交到servlet里面,然后我就得到了参数"upload_file_name",此时参数为“c:uploadfile.doc",最后我就在servlet里面用File file = new ...
有一个疑问,在jsp的页中有一个选择文件的,当我选择了本地的一个文件的时候,按下提交,提交到servlet里面,然后我就得到了参数"upload_file_name",此时参数为“c:uploadfile.doc",最后我就在servlet里面用File file = new File(upload_file_name); FileInputStream = new FileInputStream(file);,这样所得到的文件流是不是本地的文件流还是服务器端的文件流?
即现在读出的文件流是本地的还是服务器端(运行servlet的终端)的?
如果是读出只是服务器的c:uploadfile.doc,那么我现在要读出本地的,还应设什么参数才能真正读到本地的文件传到服务器???
即现在读出的文件流是本地的还是服务器端(运行servlet的终端)的?
如果是读出只是服务器的c:uploadfile.doc,那么我现在要读出本地的,还应设什么参数才能真正读到本地的文件传到服务器???
|
是本地的文件流,不过你的form应该如下:
一定要加上enctype="multipart/form-data"
一定要加上enctype="multipart/form-data"
|
不是这样的,你如果提交过去的是一个路径,然后用file创建文件流,这是创建的服务器上的文件流,所以我上面告诉你用form的提交方式,然后处理http流,这是java解决文件上传的方法。
然后你创建的临时文件也是服务器上的。
如果你想用file创建的是本地的文件流,那么只用有applet。因为只有applet是运行在客户端的。servlet和jsp都是运行在服务器上的。
然后你创建的临时文件也是服务器上的。
如果你想用file创建的是本地的文件流,那么只用有applet。因为只有applet是运行在客户端的。servlet和jsp都是运行在服务器上的。
|
可以在客户端生成文件,也可以写如数据库,都可以,不过你要分析这个文件流。你到www.google.com
去搜索一下,关键字:servlet上传文件,就有很多相关的内容,对你很有帮助。
去搜索一下,关键字:servlet上传文件,就有很多相关的内容,对你很有帮助。
|
参数应该是"c:\uploadfile.doc"
FileInputStream应该是在服务器端读入你的本地文件。
FileInputStream应该是在服务器端读入你的本地文件。