JSP实现文件上传

RandomAccessFile类提供的功能来实现文件上传。当我们想对一个文件进行读写操作时,可以创建一个指向该文件的RandomAccessFile流即可,这样既可以从这个流中读取这个文件的数据,也通过这个流写入数据给这个文件。

利用JavaBean负责将用户选择的文件上传到服务器。bean可以让内置对象request调用方法getInputStream()获得一个输入流,通过这个输入流读入客户上传的全部信息,包括文件的内容以及表单域的信息。bean可以从上传的全部信息中分离出文件的内容,并保存在服务器端。按照HTTP协议,文件表单提交的信息中,前4行和后5行市表单本身的信息,中间部分才是客户提交的文件的内容bean通过使用RandomAccessFile流获取文件的内容,即去掉表单的信息。首先,bean将客户提交的全部信息保存为一个临时文件,该文件的名字是客户的session对象的id(不同客户的这个id是不同的),然后读取该临时文件的第2行,这一行中含有客户上传的文件的文字,获取这个名字,再获取第4行结束的位置,以及倒数第6行的结束位置,因为这两个位置之间的内容是上传文件的内容,然后将这部分内容存入文件,该文件的名字和客户上传的文件的名字保持一致。最后删除临时文件。

JSP页面中:

<form action=""  method="post" enctype="multipart/form-data">

     <input type="file" name="boy" size="45"><br>

     <input type="submit" name="g" value="提交">

</form>

这样选择文件提交后request就会有文件流信息。

 

 

UpFile.java

 

 

 

index.jsp

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值