我使用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>
   各位高手帮我看看吧!谢谢了

解决方案 »

  1.   

    上传图片重命名  你的image = new Date() + "xxxxx." + file.getFileExt(); 你把时间取到秒吧
      

  2.   

    写一个图片命名的JavaBean,把图片自动改名为 :IP+时间戳+N位随机数
      

  3.   

    为什么我把原来的代码改成这样子就正确啊!
    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)??就错呢?
    这里只不过是动态的字符串罢了?就错了吗??
      

  4.   

    是产生的文件名称有问题,我的也出了你的这种情况,后来试着把文件名输出一下
    <%@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这个名字是不能作为图片名称的,你的情况应该也差不多