传统的文件上传,不用jquery插件的话,就是用形式表单提交,项目里用过uploadify,可以异步上传文件,原理我也没研究。现在说传统的形式表单上传文件。
文件上传核心:
用& lt;输入类型=拔募?比;来声明一个文件域。样式如文件:_____ & lt;浏览祝辞。
必须使用发布方式提交表单。
必须设置表单的类型为是设置这个表单传递的不是键=值值。传递的是字节码。
jsp表单表单:enctype(编码类型)的默认值就是应用程序/x-www-form-urlencoded
<>强文件上传,>强必须设置enctype=岸嗖糠?格式”
从表单:
包com.lhy.upload;
进口java.io.BufferedReader;
进口java.io.FileOutputStream;
进口java.io.IOException;
进口java.io.InputStream;
进口java.io.InputStreamReader;
进口java.io.OutputStream;
进口java.io.PrintWriter;
进口javax.servlet.ServletException;
进口javax.servlet.annotation.WebServlet;
进口javax.servlet.http.HttpServlet;
进口javax.servlet.http.HttpServletRequest;
进口javax.servlet.http.HttpServletResponse;/* *
*
* @author管理员
*
*/@WebServlet (name=" UploadServlet urlpattern="/UploadServlet ")
公开课UploadServlet扩展HttpServlet {
@Override
保护无效doGet (HttpServletRequest点播,HttpServletResponse resp)
抛出ServletException IOException {//这个。doPost(要求、职责);
}
@Override
保护无效doPost (HttpServletRequest点播,HttpServletResponse resp)
抛出ServletException IOException {
req.setCharacterEncoding (“utf - 8”);
字符串contentType=req.getHeader(“内容类型”);
system . out。println (“contentType:“+ contentType);
字符串名称=req.getParameter(“名字”);
System.out.println(名字);//null
InputStream是=req.getInputStream ();//- - - - - - WebKitFormBoundaryG0ULv7eVfQ1K2PBA//附加项:格式;name="图像";文件名="静夜思. txt”//内容类型:文本/平原//////- - - - - - WebKitFormBoundaryG0ULv7eVfQ1K2PBA—
BufferedReader br=new BufferedReader(新InputStreamReader(是));
字符串得力=br.readLine();//第一行,分隔符
字符串文件名=br.readLine ();//附加项:格式;name="图像";文件名=" jingyesi.txt "
文件名=fileName.substring (fileName.lastIndexOf ("=") + 2, fileName.length () 1);
br.readLine ();
br.readLine ();
字符串数据=https://www.yisu.com/zixun/null;//获取当前项目的运行路径
字符串路径=getServletContext () .getRealPath (“/?;
PrintWriter pw=new PrintWriter(路径+ " +文件名);
在((data=https://www.yisu.com/zixun/br.readLine ()) !=null) {
如果(data.equals(得力+”——“)){
打破;//读到了文件尾
}
pw.println(数据);
}
pw.flush ();
pw.close ();
is.close ();/* FileOutputStream安全系数=new FileOutputStream(路径+“/?“b.doc”);//byte [] b=新的字节[1024];
int len=0;
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null