我是靠谱客的博主 舒服手机,最近开发中收集的这篇文章主要介绍java.lang.ClassCastException: org.apache.shiro.web.servlet.ShiroHttpServletRequest cannot be cast to,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
今天在做上传的时候,遇到一个这亲的问题。如题目。
以为是配置文件这与错了。结果查看了好长时间,没找一以错。程序里也没有问题。
最后,问题出在了jquery validate 验证这里。只好改成在form里提交。
如下:
<form id="importYuanLiaoFileForm" name="importYuanLiaoFileForm" action="${ctx}/xxxxx/getUpLoadFile.do" method="post" enctype ="multipart/form-data" target="hidden_frame">
<div class="ui-widget">
<div id="importYuanLiaoFile_toolbar" class="ui-widget-header ui-state-default">
<button id="importYuanLiaoFileSaveBtn" type="button">确定</button>
<button id="importYuanLiaoFileCloseBtn" type="button">关闭</button>
</div>
<div id="importYuanLiaoFileErrorMsg" class="errorCls"></div>
<fieldset>
<legend>导入</legend>
<table cellspacing="5" cellpadding="5" border="0">
<tr>
<td>添加Excel文件</td>
<td>
<input type="file" id="importFile" name="importFile"/><font color="red">*</font>
</td>
</tr>
</table>
</fieldset>
</div>
</form>
<iframe name='hidden_frame' id="hidden_frame" style="display:none"></iframe>
@RequestMapping("getUpLoadFile")
@SuppressWarnings({"unchecked","rawtypes"})
public void getUpLoadFile(HttpServletRequest request, HttpServletResponse response) throws IOException{
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
String ctxPath=request.getSession().getServletContext().getRealPath("/")+"fileUpload"; //文件上传存储路径
ctxPath += File.separator;
// 创建文件夹
File file = new File(ctxPath);
if (!file.exists()) {
file.mkdirs();
}
String fileName = null;
String newName = null;
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
// 上传文件
MultipartFile mf = entity.getValue();
fileName = mf.getOriginalFilename();//获取原文件名
//获得当前时间的最小精度
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSSS");
newName = format.format(new Date());
//获得三位随机数
Random random = new Random();
for(int i = 0; i < 3; i++){
newName = newName + random.nextInt(9);
}
File uploadFile = new File(ctxPath + newName+fileName.substring(fileName.lastIndexOf(".")));
try {
FileCopyUtils.copy(mf.getBytes(), uploadFile);
} catch (IOException e){
e.printStackTrace();
}
}
response.setHeader("Content-type", "text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
// response.getWriter().write(newName+fileName.substring(fileName.lastIndexOf(".")));
//处理上传数据
try {
String importFile = ctxPath + newName+fileName.substring(fileName.lastIndexOf("."));
importFile = importFile.replaceAll("\\","/");
response.getWriter().write("<script>parent.upLoadFinsh();</script>"); //这里设置是返回时的处理方法。直接在js写function upLoadFinsh(){}就行
} catch (Exception e) {
logger.error("保存失败", e);
}
}
最后
以上就是舒服手机为你收集整理的java.lang.ClassCastException: org.apache.shiro.web.servlet.ShiroHttpServletRequest cannot be cast to的全部内容,希望文章能够帮你解决java.lang.ClassCastException: org.apache.shiro.web.servlet.ShiroHttpServletRequest cannot be cast to所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复