光盘\TM\sl\9\5 用servlet实现文件上传的例子 文件不能上传
public class UploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("textml;charset=UTF-8");
PrintWriter out = response.getWriter();
String path = this.getServletContext().getRealPath("/"); //获取服务器地址
Part p = request.getPart("file1"); //获取用户选择的上传文件
if (p.getContentType().contains("image")) { // 仅处理上传的图像文件
ApplicationPart ap = (ApplicationPart) p;
String fname1 = ap.getFilename(); //获取上传文件名
int path_idx = fname1.lastIndexOf("\\") + 1; //对上传文件名进行截取
String fname2 = fname1.substring(path_idx, fname1.length());
p.write(path + "/upload/" + fname2); // 写入 web 项目根路径下的upload文件夹中
out.write("文件上传成功");
}
else{
out.write("请选择图片文件!!!");
}
}
}
我要上传的文件名是:E:\eclipse\1.jpg
程序中的解析后的文件名是:E:eclipse1.jpg
把斜杠“\”弄丢了,怎么回事?怎样解决?
注释:tomcat的版本是7,与书中讲解的一样,JDK版本是1.8