SmartUpload 上传图片重命名 File can't be saved

yangxiaonawzy 2010-05-31 10:01:46
我使用SmartUpload上传图片,出现了
com.jspsmart.upload.SmartUploadException: File can't be saved (1120). at com.jspsmart.upload.File.saveAs(File.java:108)
at com.jspsmart.upload.File.saveAs(File.java:65)
这样的错误!!
这是我的代码:
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@page import="com.jspsmart.upload.SmartUpload"%>
<%@ page import="com.jspsmart.upload.File"%>
<html>
<head>
<body>
<%
String image = null;
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.upload();
for (int i = 0; i < su.getFiles().getCount(); i++) {
File file = su.getFiles().getFile(i);

if (file.isMissing()) {
continue;
}
image = new Date() + "xxxxx." + file.getFileExt();
file.saveAs("F:\\aa\\"+image);
}

%>
</body>
</html>
各位高手帮我看看吧!谢谢了
...全文
397 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
akwolf 2010-10-28
  • 打赏
  • 举报
回复
是产生的文件名称有问题,我的也出了你的这种情况,后来试着把文件名输出一下
<%@page contentType="text/html" pageEncoding="gb2312"%>
<%@page import="org.lxh.smart.*"%>
<%@page import="org.zh.util.*"%>

<html>
<head>
<title>smart jsp</title>
</head>
<body>
<%
SmartUpload smart = new SmartUpload() ;
smart.initialize(pageContext) ;
smart.upload() ;
IPTimeStamp its = new IPTimeStamp(request.getRemoteAddr()) ;
String foreName = its.iPTimeStamp() ;
String ext = smart.getFiles().getFile(0).getFileExt() ;
String fileName = foreName+"."+ext ;
smart.getFiles().getFile(0).saveAs(this.getServletContext().getRealPath("/")+"upload"+java.io.File.separator + "cc.jpg") ;
%>
<%=fileName%>
<img src="../upload/<%=fileName%>">
</body>
</html>

得到文件名是:0:0:0:0:0:0:0:120101028192149638803.gif这个名字是不能作为图片名称的,你的情况应该也差不多
yangxiaonawzy 2010-05-31
  • 打赏
  • 举报
回复
我的代码错在哪里了啊!现在还在迷茫中。。。。。
Jay_+wqq_635731323 2010-05-31
  • 打赏
  • 举报
回复
写一个图片命名的JavaBean,把图片自动改名为 :IP+时间戳+N位随机数
Fairy_dy 2010-05-31
  • 打赏
  • 举报
回复
上传图片重命名 你的image = new Date() + "xxxxx." + file.getFileExt(); 你把时间取到秒吧
yangxiaonawzy 2010-05-31
  • 打赏
  • 举报
回复
为什么我把原来的代码改成这样子就正确啊!
String image = null;
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.upload();
for (int i = 0; i < su.getFiles().getCount(); i++) {
File file = su.getFiles().getFile(i);

if (file.isMissing()) {
continue;
}
file.saveAs("F:\\aa\\cc.jpg");
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = sdf.format(new Date().getTime());
image = time+"xxxx."+file.getFileExt();
为什么写成saveAs("F:\\aa\\"+image)??就错呢?
这里只不过是动态的字符串罢了?就错了吗??
yangxiaonawzy 2010-05-31
  • 打赏
  • 举报
回复
恳求各位高手现身啊!谢谢了
艾瑞儿 2010-05-31
  • 打赏
  • 举报
回复
没有用过这个上传组建,帮搂住顶下

81,092

社区成员

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

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