我在做一个上传文件的程序,我想上传文件后关闭哪个 jsp页面,然后把文件名放到一个文件域中,不知道怎么实现?
上传文件的程序: http://house08.cn/Upfile.zip效果:
大概步骤就是:先传一个图片,然后把文件名放到文本框,一起提交给数据库!

解决方案 »

  1.   

    看了半天楞是没明白你是想把用户选择的文件全路径(即“文件照片”)下的文件名放在上面的头像地址这个输入框中??
    在file控件中:onchange="document.getElementById('头像地址的这个输入框的ID或name').value=this.value.substring(this.value.lastIndexOf('\\'));"
    substring或者lastIndexOf,方法名可能不一样,懒得试了。基本就这意思
      

  2.   

    你点上传,有一个jsp来处理文件上传的功能,上传完它是显示的jsp文件,我想让它自动关闭,然后把文件名放到  头像地址中 .
      

  3.   

    如果你上传上的是图片的话,你可以重新命名啊。用时间生成一串字符作为图片名。图片名就成了一串字符.jsp
      

  4.   

    大家理解我的意思了,就像BearKin
     说的哪样,但是怎么实现呢?
      

  5.   

    http://house08.cn/Upfile.zip 
     这是它的程序,可以帮我修改下,如果修改好请放到 Email :[email protected]中,谢谢啦
      

  6.   

    用apache commons-io里的一个FilenameUtils,有getName()就是得到文件名,getBaseName()就是得到不含扩展名的文件名,还有很多很多关于文件名的操作。
      

  7.   

    我想先传上服务器,然后保存文件名,用apache commons-io好像实现不了!
      

  8.   

    commons-io只是提供对文件名的操作,结合commons-fileupload肯定能行
      

  9.   

    说白了,我就是javascript不知道怎么写,程序都已经实现了的!!我希望javascript高手帮我写一下,把http://house08.cn/Upfile.zip下载下来,在加个fileupload.jar包就可以运行了!
    希望完成后发到 [email protected]
      

  10.   

    楼主你点【上传】的时候页面已经跳转了,所以无法操作之前那个页面,会报js错误其实可以在提交表单的那个页面设置一个隐藏的iframe,让表单提交到这个iframe就行了PS: <input type="file" name="file">这种上传组件的value属性是readonly的
      

  11.   

    参考:
    http://www.javadn.com/read.php?tid=901
      

  12.   

    在父窗口写一个给图片名称控件赋值的方法
    再在打开的子窗口中用 parent. 父窗口的方法赋值不就好了?
      

  13.   

    父子窗口传递
    http://xiaobo.javaeye.com/blog/34096
      

  14.   

    楼主 是自己写的上传 还是用的插件 
    插件 可以直接去的文件名字 如果是在前台取 可以用 JavaScript截取。
      

  15.   

    我知道是javascript,但是不知道怎样用javascript,关键是我对javascript不熟
      

  16.   

    js代码
    filevalue.substr(value.lastIndexOf("\\")+1).toLowerCase()
    可以获得c:\ddd\ddd\x.jpg中x.jpg
      

  17.   

    这是文件上传的处理代码
    <%@   page   contentType="text/html;   charset=utf-8"   language="java"  import="java.util.*,com.meide.log4j.Globals,java.text.*,com.jspsmart.upload.*"%>
    <% 
        Date currTime = new Date();
      SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss",Locale.US);  String time=new String(formatter.format(currTime).getBytes("iso-8859-1"));  
        
      String FileName="";
      
      //   新建一个SmartUpload对象   
      SmartUpload   su   =   new   SmartUpload();   
      //   上传初始化   
      su.initialize(pageContext);     
      su.upload();     com.jspsmart.upload.File   file   =   su.getFiles().getFile(0);   //上传域值
      String ext=file.getFileExt();
      if(file.getSize()<100000){
       FileName=time+"."+ext;
       file.saveAs(Globals.path+"/photo/"+FileName,su.SAVE_PHYSICAL);
       out.print("<script>parent.document.form1.FileName.value='怎么传回文件名';close();</script>");
      }else{
       out.print("<script>oper.document.form1.FileName.value='怎么传回文件名';close();</script>");
      } 
    %> 文件选择页面<form action="/sysAdmin/photoUpload.jsp" method="post" name="form1" onSubmit="return check()" enctype="multipart/form-data">
    <input name="FileName" type="FILE" class="yecao" size="30">
    <input type="submit" name="Submit" value="上传" style="border:1px double rgb(88,88,88);font:9pt">
      
    <input name="InputName" type="hidden" id="InputName" value="InputName">
    <input name="FormName" type="hidden" id="FormName" value="<FormName"> 
    <input name="FileType" type="hidden" id="FileType" value="FileType"> 
    </form>
      

  18.   

    这个是写在选择文件的页面 你可以把得到的值赋给一个隐藏的input标签内  然后在处理的jsp页面获得这个即可
      

  19.   

    <input name="FileName" type="FILE" id="upfile" class="yecao" onchange="changefile()" size="30">
    <input type="hidden" name="upfilename"  id="upfilename"/>
    js:function changefile(){
     var filename=document.getElementById("upfile").value;
     var filevalue=filename.substr(value.lastIndexOf("\\")+1).toLowerCase()
     document..getElementById("upfilename").value=filevalue
    }
    这样你只要在处理的页面获得upfilename的值就可以了
      

  20.   

    http://yj10864.javaeye.com/admin/blogs/548947这里去看看吧