java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade cannot

浅瞳夜未 2019-01-21 01:36:44
前台:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文件上传</title>
<script type="text/javascript" src="/js/jquery-1.8.3.min.js"></script>
<script>
function ajaxFileUpload() {
var form = new FormData; //创建一个FormData对象
form.append("file",$("#file").get(0).files[0]);
//将文件放到FormData对象中
console.log($("#file")[0].files[0]);
console.log(form);
console.log($("input[name='username']").val());
console.log($("input[name='password']").val());
$.ajax({
url :"/uploadfile",//访问路径
contentType: false,
processData: false,
cache: false,
type:"POST",
// async: false,
dataType : "json",
data :{
"username":$("input[name='username']").val(),
"password":$("input[name='password']").val(),
"file":form
}
}).success(function(data,status){
if(status=="success"){
if(data.code==200){
alert("文件上传成功");
}
if(data.code==400){
alert("文件上传失败");
}
}
}).error(function(){
alert("服务器未响应");
});
}
</script>
</head>
<!--<body>
<form method="POST" enctype="multipart/form-data" action="/uploadfile">-->
<!--文件:<input type="file" name="file" /><br/>-->
<!--<input type="submit" value="上传" />-->
<!--</form>-->
<body>
<label>UserName:</label><input type="text" name="username"/><br>
<label>UserName:</label><input type="password" name="password"/><br>
<input type="file" multiple="multiple" id="file" onchange="ajaxFileUpload();" />
</body>

</html>

后台:
@PostMapping("/uploadfile")
public String upload(HttpServletRequest request) throws IOException {
// System.out.println("parms:"+parms);
// JSONObject jsonObject = JSONObject.parseObject("parms");
// String username = jsonObject.getString("username");
// String password = jsonObject.getString("password");
// JSONObject jsonObject = JSONObject.parseObject(parms);

// CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
MultipartFile file = file = ((MultipartHttpServletRequest)request).getFile("file");
// System.out.println(multipartResolver.isMultipart(request));
// if(multipartResolver.isMultipart(request)){
// file = ((MultipartHttpServletRequest)request).getFile("file");
// System.out.println("asdasds");
// }
//处理 Json 文件上传
if (file != null) {
String originalFilename = file.getOriginalFilename();
System.out.println("源文件名:"+originalFilename);
String suffix = originalFilename.substring(originalFilename.lastIndexOf("."));
System.out.println("源文件后缀为:"+suffix);
//将文件转化称字节流
InputStream is = file.getInputStream();
//上传到服务器
String savePath = FastDFSUtil.uploadFile(is, file, file.getSize(), FilenameUtils.getExtension(file.getOriginalFilename()), null);
if (savePath != null) {
System.out.println("文件保存在:"+savePath);
}else{
System.out.println("文件上传失败!!!");
}
}
return "success";
}









很纳闷 为什么总是转换异常呢? 转换不过去 怎么回事 有那个大佬帮忙解决一下啊
...全文
941 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
浅瞳夜未 2019-01-21
  • 打赏
  • 举报
回复
@Configuration
public class FileConfig {

//加入到容器当中 配置限制文件大小
@Bean
public CommonsMultipartResolver multipartResolver(){
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setDefaultEncoding("UTF-8");
//resolveLazily属性启用是为了推迟文件解析,以便在UploadAction 中捕获文件大小异常
resolver.setResolveLazily(true);
//每个文件最大上传300MB
resolver.setMaxUploadSizePerFile(1024*1024*300);
//最大文件大小 350M
resolver.setMaxUploadSize(1024*1024*350);
resolver.setMaxInMemorySize(1024);
return resolver;
}
}


这个我也配置了
浅瞳夜未 2019-01-21
  • 打赏
  • 举报
回复
有那个大佬帮忙看看怎么回事 ?
喜欢千千呐 2021-09-01
  • 举报
回复
@浅瞳夜未 解决了吗? 我也遇到了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧