问题描述:
上传图片判断长度和高度,用JS来做的时候ie7不支持。。
所以就绕了一个圈。先把图片上传到服务器。然后在服务器上得到图片的属性
如果超过了长度和高度。再把图片删除,现在问题是,刚保存在服务器上的图片
要删除返回false好像图片正在使用。不能删除。。
请教这个问题怎么解决啊?如果有JS判断的话。如何做到兼容IE7和Firefox。。
谁有更好的解决办法。。我加分
上传图片判断长度和高度,用JS来做的时候ie7不支持。。
所以就绕了一个圈。先把图片上传到服务器。然后在服务器上得到图片的属性
如果超过了长度和高度。再把图片删除,现在问题是,刚保存在服务器上的图片
要删除返回false好像图片正在使用。不能删除。。
请教这个问题怎么解决啊?如果有JS判断的话。如何做到兼容IE7和Firefox。。
谁有更好的解决办法。。我加分
解决方案 »
- 急急急!WARN No appenders could be found for logger (org.hibernate.cfg.Environment
- 关于struts2标签select的初值问题。为什么value不好用?
- servlet的init()方法如何获取web.xml里配置好的init-param参数
- open flash chart2 java 堆积图 如何去掉图形提示或者更改
- Junit 测试 Spring 老是报错,说什么找不到资源文件。
- iBATIS的组合键查询问题,官方文档是错误的??
- 我来说说:jsp和html哪个响应更快?
- 如何在Java类中调用Tomcat的JNDI进行数据库连接?
- 请教一个RequestDispatcher 得问题
- j2ee作为服务器,jsp页面调用javaBeans是出错了!
- 关于ibator的几个简单问题。
- axis如何生成服务端代码,具体步骤
file.write(f1);
String topic = uploadPath+"\\"+filename;
//判断长度高度
boolean isokpic=accBll.judgeWidthHeight(topic, 140, 150);
if(!isokpic){
topic=topic.replace("\\", "\\\\");
File delPhotoPath = new File(topic);
if(delPhotoPath.exists()){
boolean kkkkk=delPhotoPath.delete();
System.out.println(kkkkk);
////////这里打印false
}
}
你在操作系统里有没有打开这个文件,有的话也关闭
//图片上传路径
String uploadPath =getServletContext().getRealPath("comm/images/uploadHead/");
// 图片临时上传路径
String tempPath = getServletContext().getRealPath("comm/images/uploadHead/temp/");
String imagePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
// 文件夹不存在就自动创建:
if(!new File(uploadPath).isDirectory())
new File(uploadPath).mkdirs();
if(!new File(tempPath).isDirectory())
new File(tempPath).mkdirs();
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是50KB
fu.setSizeMax(102400);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);
// 设置临时目录:
fu.setRepositoryPath(tempPath); // 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while(i.hasNext()) {
FileItem file = (FileItem)i.next();
// 获得文件名,这个文件名是用户上传时用户的绝对路径:
String fileName = file.getName();
// 看文件以什么结束
// System.out.println(fileName.endsWith(".gif")); if(fileName!=null&&(fileName.endsWith(".jpg")||fileName.endsWith(".gif"))) {
// 在这里可以记录用户和文件信息
// 生成上传后的文件名
String filename=null;
Random rd = new Random();
Calendar time = Calendar.getInstance();
if(fileName.endsWith(".jpg")){
filename=String.valueOf(time.get(Calendar.YEAR))
+ String.valueOf(time.get(Calendar.MONTH))
+ String.valueOf(time.get(Calendar.DAY_OF_MONTH))
+ String.valueOf(time.get(Calendar.HOUR_OF_DAY))
+ String.valueOf(time.get(Calendar.MINUTE))
+ String.valueOf(time.get(Calendar.SECOND))
+ String.valueOf(rd.nextInt(100)) + ".jpg";
}else if(fileName.endsWith(".gif")){
filename=String.valueOf(time.get(Calendar.YEAR))
+ String.valueOf(time.get(Calendar.MONTH))
+ String.valueOf(time.get(Calendar.DAY_OF_MONTH))
+ String.valueOf(time.get(Calendar.HOUR_OF_DAY))
+ String.valueOf(time.get(Calendar.MINUTE))
+ String.valueOf(time.get(Calendar.SECOND))
+ String.valueOf(rd.nextInt(100)) + ".gif";
}
File f1=new File(uploadPath+"/"+filename);
file.write(f1);
String topic = uploadPath+"\\"+filename;
System.out.println(topic);
boolean isokpic=accBll.judgeWidthHeight(topic, 140, 150);
if(!isokpic){
topic=topic.replace("\\", "\\\\");
File delPhotoPath = new File(topic);
if(delPhotoPath.exists()){
boolean kkkkk=delPhotoPath.delete();
System.out.println(kkkkk);
}
} System.out.println(fileName+"成功上传!");
}else{
String idname=file.getFieldName();
if(idname.equals("hiddenID")){
id=file.getString();
}
}
}
// 跳转到上传成功提示页面
}
catch(Exception e) {
// 可以跳转出错页面
}
}catch(Exception ex){
}
在delete就可以了
我开展也是这样的
=null也试过了。。好像麽用啊。。我是加在
File f1=new File(uploadPath+"/"+filename);
file.write(f1);
file=null;
还有什么办法嘛???
int width = imageIcon.getIconWidth(); //宽
int height = imageIcon.getIconHeight(); //高用这个做就不用去上传图片再删掉了