java servlet 怎么获取表单里上传的文件的路径?

我在一个jsp页面写下如下代码
<form action="servlet/upseverlet" method="post">
<input type="file" name="file">
<input type="submit" value="upto">
然后我在upseverlet里该怎样获取文件上传的路径
纯jsp不要框架!
纯severlet

第1个回答  2013-11-07
文件的上传路径是你控制的...
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(new File("../webapps/fileupload/upload/" + fileName)));
第2个回答  2013-11-07
上传文件表单form 需要设置enctype="multipart/form-data"属性才行,不知道你为什么要获取上传文件的源路径(文件都上传了你直接保存到你想要的位置就行了),可以用js在表单提交前(onsubmit方法)获取那个input的value再作为一个参数提交到后台追问

如果客户上传,要取得路径才能保存啊

追答

不懂为什么“要取得路劲才能保存”,上传的是文件,不是文件路径。enctype="multipart/form-data“就表示以字节的形式提交文件了,和路劲没有关系。上传文件需要引入commons-io.jar,commoms-fileupload.jar包

第3个回答  2013-11-07
<form action="servlet/upseverlet" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="upto">
才可以获取本回答被网友采纳
第4个回答  推荐于2017-09-07
request.getParameter("file")得到文件,调用file的getAbsolutePath可以看见路径追问

request.getParameter("file") 得到的是String类型 不是一个文件对象 取不到他的真实路径

追答

String pathType = request.getParameter("pathType");//保存类型

String TxtName = request.getParameter("TxtName");//文件名字 例如:1.txt

TxtName="1.txt";

if(pathType==null||TxtName==null){

return;

}

String path = request.getServletContext().getRealPath("/");

String zuhepath = path + "/"+pathType+"/";

File file = new File(zuhepath);

难道是这个?servlet有点原始了,用一些jar包会方便很多的。

本回答被提问者采纳
相似回答