本帖最后由 java2000_net 于 2008-08-04 21:33:06 编辑

解决方案 »

  1.   

    认真的看:
    <%@ 
    page contentType="text/html;charset=gb2312" language="java" 
    import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.jspsmart.upload.*,java.util.*"
    %><%
    SmartUpload mySmartUpload =new SmartUpload();
    long file_size_max=4000000;
    String fileName2="",ext="",testvar="";
    //初始化
    mySmartUpload.initialize(pageContext);
    //只允许上载此类文件
    try {
     mySmartUpload.setAllowedFilesList("jpg,gif");
    //上载文件 
     mySmartUpload.upload();
    } catch (Exception e){
    out.print("<SCRIPT language=\'javascript\'>");
    out.print("alert('只允许上传.jpg和.gif类型图片文件');");  
    out.print("</SCRIPT>");
    }
    try{
    com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
    String t=mySmartUpload.getRequest().getParameter("t");//获取表单其它参数
    System.out.println(t+"hhhhhhhhhhhhhhhh");
    if (myFile.isMissing()){
    out.print("<SCRIPT language=\'javascript\'>");
    out.print("alert('请先选择要上传的文件');");   
    out.print("</SCRIPT>");
    }

    else{
       String myFileName=myFile.getFileName(); //取得上载的文件的文件名
       ext= myFile.getFileExt();      //取得后缀名
       int file_size=myFile.getSize();     //取得文件的大小  
       String saveurl="";
       if(file_size<file_size_max){
    //更改文件名,取得当前上传时间的毫秒数值
    Calendar calendar = Calendar.getInstance();
    String filename = String.valueOf(calendar.getTimeInMillis()); 
    saveurl=request.getRealPath("/");
    saveurl+=filename+"."+ext;          //保存路径
    System.out.println(saveurl+"eeeeeeeeee");
    myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);

       }
       else{
    out.print("<SCRIPT language=\'javascript\'>");
    out.print("alert('上传文件大小不能超过"+(file_size_max/1000)+"K');");
    //out.print("window.location=\'scxp.jsp;\'");
    out.print("</SCRIPT>");
       }
      }
    }catch (Exception e){
    System.out.println(e.toString());
    }
    %>  
      

  2.   

    我怎么把上传图片把路径保存到数据库中,把名字换成英文,还要根据数据库中的路径显示图片到jsp页面呢?我应该把图片传到那台机器上,有数据库的那机器上,还是有我的工程的机器上,怎么调用显示呢?