文件的上传

来源:互联网 发布:任务栏淘宝图标删不掉 编辑:程序博客网 时间:2024/06/06 10:53

 

1、怎样获取请求消息中的实体内容? 

借助流的操作。用getInputStream()或者getReader()取决于读取请求消息中发来的实体内容。

1)通过调用getInputStream() 获取字节的输入流,和请求消息中的实体内容相关联。一读一写,中间没有任何处理的情况下,用getInputStream()

2getReader()获取字符的数输入流,用于返回一个代表实体内容的BufferedReader对象,返回的BufferedReader对象将实体内容中的字节数据按照请求消息中指定的字符集编码转换成文本字符串。

3)在调用getReader方法之前,可以调用ServletRequestsetCharacterEncoding方法指定其返回的BufferedReader对象所使用的字符集编码。

2分析文件上传的请求消息结构:

课上老师讲的代码及分析如下:

 

3、获取参数的代码和界面如下:

通过上传一个文件,可获取到的信息如下:

这是表中的第一个参数值

这是结束的分割线,表示内容结束了。

这是上传的文件的名字。

4读取实体内容时可能出错的一种代码:

ServletInputStream sis = request.getInputStream();

String filePath = getServletContext().getRealPath("/body.out");

FileOutputStream fos = new FileOutputStream(filePath);

int total_len = request.getContentLength();

byte[] buf = new byte[total_len];

for(int read_len=0,reading_len=0; read_len < total_len; 

read_len += reading_len)

{

reading_len = sis.read(buf,read_len,total_len-read_len);

}

fos.write(buf,0,total_len);

fos.close();

sis.close();

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 京东买东西地址填错了怎么办 商场卖的衣服跟官网差价大怎么办 网购的衣服有好几个破洞怎么办 出租发票有牌号是假的怎么办 支付宝里的多收多保被降级了怎么办 超市购物卡余额与实际不符怎么办 发广告的公众号无法取消关注怎么办 扣扣需要手机验证码登录怎么办 驾校报了联系不了教练了怎么办 手机号被别人注册了百度网盘怎么办 注册公司云证书申请成功后怎么办 淘宝购物卖家迟迟不发货怎么办 淘宝直播顾客加购物车不下单怎么办 东方航空联程机票航班延误怎么办 别别人伸请更换手机绑定qq怎么办 绑定手机号的扣扣忘记密码怎么办 微信公众号个人主体变更公司怎么办 微信号注册成订阅号了怎么办 微信开通了企鹅影院会员怎么办 注销公众号对公账号填写错误怎么办 国外邮的东西在北京扣了手续怎么办 微信购物商城买的东西不发货怎么办 魅族手机电话图标没有了怎么办 新商盟网页新商盟网页打不开怎么办 京东商城购物车装满了怎么办 商家想入住美团没有营业执照怎么办 旅行团定好的人数临时加人该怎么办 淘宝上发货后12天未收到款怎么办 京东购买的东西烂了怎么办 苹果4s手机激活密码忘了怎么办 小米4c返回键失灵了怎么办 小米4c下面三个键失灵怎么办 谷歌浏览器打不开指定的网址怎么办 电脑上我的电脑图标没了怎么办 手机上的短信图标没了怎么办 qq密保手机被别人换了怎么办 苹果六手机很卡网络不给力怎么办 堡垒之夜卡在载入界面怎么办 登录新福建一直说网络不给力怎么办 开发游戏平台给了钱不给东西怎么办 代号英雄与服务器断开连接了怎么办