cos java_java cos方法

白皮书写了如果是enctype="multipart/form-data"必须先调用getFile方法,才能正常。回复@lusheng6323:如果不需要获取参数,在拦截器中不去读取请求中的参数,不受影响,直接判断用户是否登录即可关键是我对本次请求不需要读取。我的业务逻辑大概是这样:1、未登录不允许上传,本来有个全局连接器,不需要取任何参数直接就返回客户端。2、登录用户有个上传文件数量限制,在取参数之前就判断是否达到限制,如果达到自己返回客户端。上述两种情况都是一样的,都是不需要取数据就返回客户端。@jfinal,请问处理上有没有好的建议!

当请求到达tomcat、jetty这类容器时,容器会将请求封装成一个HttpServletRequest对象,开发者可以使用这个对象获取请求中的各类参数,例如:request.getParameter(name)。

而enctype="multipart/form-data"请求到达tomcat、jetty这类容器时,请求中的参数与上传文件内容是混合在一起需要自行解析才能得到parameter以及上传的files。所以便出现了common-upload、cos这类文件上传解析的第三方框架。

上面所说的关键点是,当上传文请求到达时,参数与上传文件都是无法读取到的,必须要对请求进行解析,所以,必须要在一个适当的时机将请求解析成 MultipartRequest对象,jfinal将时机选择在了调用getFile(...)之时。

还有一种方案是每次请求对请求类型进行判断再进行解析,但99.9%的请求都是普通的请求而无需解析,所以为了这0.1%的请求在每次请求到来时都做一下是否该解析的判断不划算。

以下是判断请求是否为multipartrequest需要被解析的代码:Stringcontent_type=controller.getRequest().getContentType();if(content_type!=null&&content_type.toLowerCase().indexOf("multipart")!=-1)//需要解析的情况

  jfinal极度关注性能,有性能洁癖,所以不希望为那0.1%的请求概率而添加上面的代码,而是选择了getFile(..)这个时机进行操作谢谢,耐心解答。不好意思,手机敲的,上面有两处错误:1、拦截器写成了连接器。2、直接返回写成了自己返回。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值