jsp 实现文本文件上传
2016-06-01 20:35
387 查看
首先用MyEclipse创建一个项目,我们修改WebRoot下的index.jsp文件。在index.jsp中添加一个表单用于文件上传。代码如下:
Html代码很简单吧!但是这里要注意的是在form中必须添加一个enctype="multipart/form-data",我们暂且不管它是什么意思,知道必须有它就行了。还有就是method的值为post。
然后我们新建一个servlet,命名为Upload。然后我们在它的doPost中添加java代码:
让我们看一下在D:盘下是不是多了“文件”这个文件夹,打开里面是不是有一个file.txt,肯定是有的!
我们打开看一下:
我们发现文件的前三行和最后一行不是上传文件的内容,这是关于上传文件的一些信息,文件来自哪儿,文件名等。这是这种上传方式的一种弊端!由于这种弊端我们只能上传文本文件!
要想解决这个问题我们可以用apache官网发布的commons-fileupload-1.3.1.jar里面接口解决这个问题。
<body> <form name="fileupload" enctype="multipart/form-data" action="ngst/UploadFile" method="post"> <input name="file" type="file"></input><br> <input type="submit" value="上传" /> </form> </body>
Html代码很简单吧!但是这里要注意的是在form中必须添加一个enctype="multipart/form-data",我们暂且不管它是什么意思,知道必须有它就行了。还有就是method的值为post。
然后我们新建一个servlet,命名为Upload。然后我们在它的doPost中添加java代码:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("dopost......"); response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); InputStream is= request.getInputStream();//通过获取输入流对象 String savepath = "D:\\文件"; //设置文件的保存路径 File f = new File(savepath); //创建一个文件对象 if(!f.exists()){ //判断这个文件夹是否存在 f.mkdir(); //如果不存在创建这个文件夹 } FileOutputStream fos = new FileOutputStream(savepath+"\\"+"file.txt"); //创建一个文件输出流对象 byte []b = new byte[1024]; //开辟一个缓存空间 int len=0; while((len=is.read(b))!=-1) //读取数据 { fos.write(b, 0, len); //写入数据(也就是写入到D:\文件\file.txt,这是我们前面设置的路径) } fos.close();//关闭数据流 out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>文件上传</TITLE></HEAD>"); out.println(" <BODY>"); out.println("<h1>上传成功!</h1>"); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); }就是这么简单,只要java IO那一块学的不错,应该不难吧!
让我们看一下在D:盘下是不是多了“文件”这个文件夹,打开里面是不是有一个file.txt,肯定是有的!
我们打开看一下:
------WebKitFormBoundaryz92qYDpa0WCuiuge Content-Disposition: form-data; name="file"; filename="瀹為獙姝ラ.txt" Content-Type: text/plain 实验步骤: 一、sql*plus的启动和关闭 1、通过oracle菜单启动sql*plus 在开始菜单找Oracle-OraDb11g_hone1下的应用程序开发,找到SQL Plus点击打开sql*plus。 输入你的用户名并按回车。 SQL*Plus将提示:请输入口令: 输入你的密码并按回车。 即可进入SQL*Plus的提示符: ------WebKitFormBoundaryz92qYDpa0WCuiuge--
我们发现文件的前三行和最后一行不是上传文件的内容,这是关于上传文件的一些信息,文件来自哪儿,文件名等。这是这种上传方式的一种弊端!由于这种弊端我们只能上传文本文件!
要想解决这个问题我们可以用apache官网发布的commons-fileupload-1.3.1.jar里面接口解决这个问题。
相关文章推荐
- javascript部分细节(持续更新)
- Json串(没用)
- CityMaker学习教程10 示例代码的使用Javascript
- JSP 实用程序之简易图片验证码
- 网页打印表单js代码
- javascript的 Source Map
- javascript:算法之斐波那契数列
- 解析json图片
- javascript基础语法——变量和标识符
- JS小数运算出现多位小数的问题
- js函数(类)的继承机制的设计与实现(四)
- Web前端学习第十六天·fighting_JavaScript(DOM编程艺术5-6章)
- JavaScript学习--Item31 值得你挑战的JavaScript面试题(45题)
- D3.js在svg地图上标点
- javascript:算法之数组去重
- JavaScript设计模式之接口
- js将long日期格式转换为标准日期格式
- CI加密,cryptojs解密, 使用aes-256-cbc
- js笔记---基础部分二
- [TypeScript] Understanding Generics with RxJS