try {
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(), request, response); //初始化
// 限制每个上传文件的最大长度
mySmartUpload.setMaxFileSize(file_size_max);
// 限制总上传数据的长度
mySmartUpload.setTotalMaxFileSize(1024*200);
mySmartUpload.setAllowedFilesList("jpg,JPG");
mySmartUpload.upload();
} catch (Exception e){
request.setAttribute("errormsg", "只允许上传200k以内且为JPG格式的图片");
request.getRequestDispatcher("/fetion/weizh/way/upload.jsp").forward(request, response);
}
问题是通过这种方式控制文件大小的上传时,如果我将一个非图片的视频文件后缀名强制改成jpg格式的文件,然后再进行文件上传操作,此时会走异常流程,于此同时,网络还是在一直往服务器端传送资源,从而导致客户端页面长时间没有响应,而服务器端被这样的请求耗用了大量资源,并最终导致内存溢出,请问这个问题该如何解决为好,谢谢
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(), request, response); //初始化
// 限制每个上传文件的最大长度
mySmartUpload.setMaxFileSize(file_size_max);
// 限制总上传数据的长度
mySmartUpload.setTotalMaxFileSize(1024*200);
mySmartUpload.setAllowedFilesList("jpg,JPG");
mySmartUpload.upload();
} catch (Exception e){
request.setAttribute("errormsg", "只允许上传200k以内且为JPG格式的图片");
request.getRequestDispatcher("/fetion/weizh/way/upload.jsp").forward(request, response);
}
问题是通过这种方式控制文件大小的上传时,如果我将一个非图片的视频文件后缀名强制改成jpg格式的文件,然后再进行文件上传操作,此时会走异常流程,于此同时,网络还是在一直往服务器端传送资源,从而导致客户端页面长时间没有响应,而服务器端被这样的请求耗用了大量资源,并最终导致内存溢出,请问这个问题该如何解决为好,谢谢
解决方案 »
- session过期后 登录的frame框架问题
- 急求,在线等,用Java调用.Net编写的WebService时返回如下错误
- jsp 如何统计阅读次数
- 程序出现异常,请大家帮忙看看是哪里出的问题
- ArrayList 类的用法
- JSF页面中如何弹出消息对话框?
- page指令的contentType属性
- 我建了一个JSP的群,大家加入啊,希望大家在这里学到想学的!!! 群号:4284390
- jsp小编程页面(主要是红色部分)
- 怎样使得取得指定目录中文件名称呢--在jsp页面?关于file对象等方法……
- hibernate 增删改查的时候用不用手工处理异常
- powerdesigner 12怎样利用数据库表生成逻辑数据模型
http://blog.csdn.net/hdhero/archive/2005/03/22/326405.aspx
其实我只希望当文件太大时,就直接验证说,图片太大,然后返回就行,而现在它不管是不是超过规定大小,都会继续往服务器端传,让我很无语
没错,jspSmartUpload是首先要读到内存中的,如果并发大的话,你的server肯定承受不了。
如果你一定要在页面判断的话,估计只能用js来读取文件大小了JspSmartUpload这个bug的确会产生问题的,因为你不能保证用户不乱传文件(虽然那么大的文件不一定能传得上)
var imgSrc = frm.file.value;
var imgage = new Image();
image.src =imgSrc;
if(image.fileSize > 200*1024){
error += "请选择图片大小在200k以内的图片!";
}
这个代码把ie安全性级别设置低以后,可以运行,不知如何改进比较好,请指点,谢谢