showDialog的JSP应用

用于解决在一个页面上传多个文件的问题.

<script type="text/javascript">
function showDialog(url){
 //弹出一个showModalDialog,并以returnValue来获取返回值
 var returnValue = window.showModalDialog(url);
 //alert(returnValue);
 if(returnValue!=null){
  //for(var i=0;i<returnValue.length;i++){
   //document.all.info.innerHTML = returnValue[i]+"<br>";
  //}
  //输出返回值
  document.getElementById("IMAGENAME").value = document.getElementById("IMAGENAME").value + returnValue + "|";
  //document.all.imgname.innerHTML=returnValue;
 }
}
</script>








在示例图中的"上传图片"是一个button按钮,给它一个onclick事件,当点击时触发:
<td height="25">
         <input name="IMAGENAME" type="text" id="IMAGENAME" />
         <input type="button" name="Submit3" value="上传图片" onclick="showDialog('automobile/up.jsp')" />
</td>
弹出图片上传页:


图片上传页:
<base target="_self"/>
<body>
<form action="/qcbst/v_uploadautomobileimage" name="myform" method="post" enctype="multipart/form-data" >
<table width="100%"  border="0" align="center">
  <tr>
    <td colspan="2">图片上传</td>
  </tr>
  <tr>
    <td width="30%"><div align="right">汽车图片:</div></td>
    <td width="70%"><input type="file" name="imgname" size="20"><input type="submit" value="上传"></td>
  </tr>
  <tr>
    <td><div align="right">上传信息:</div></td>
    <td>&nbsp;</td>
  </tr>
</table>
</form>
</body>

当点击上传后.图片上传到服务器,然后,关闭当前页,返回图片的名称给调用页:

上传servlet:
public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setCharacterEncoding("GBK");
  response.setContentType("text/html");
  UploadBean up = new UploadBean();//--------文件上传类
  String path = request.getRealPath(request.getContextPath()).substring(0,request.getRealPath(request.getContextPath()).lastIndexOf("\\"));
    
     try{
         File file = new File(path+"/img/automobile");//
         if(!file.exists()){
           file.mkdir();
         }
     }catch(Exception e){      
     }
     up.setObjectPath(path+"/img/automobile/");//
     //设置上传文件大小
     up.setSize(10000*1024);
     //可上传文件后缀名
     up.setSuffix(".JPG.JPGE.jpg.jpge.gif.GIF");
     try{
      up.setSourceFile(request);
     }catch(Exception e){
      response.getWriter().write("图片上传失败!!!");
     }
     String [] saSourceFile = up.getSourceFile();
     String [] saObjectFile = up.getObjectFileName();
     String [] saDescription = up.getDescription();
    
     int iCount = up.getCount();
     String sObjectPath = up.getObjectPath();
    
     if(saDescription != null && saDescription[0].indexOf("ERR") == -1){
      response.getWriter().write("<script language='javascript'>window.returnValue = '");
      response.getWriter().write(saObjectFile[0]);
      response.getWriter().write("';window.close();</script>");

     }else{
      
      response.getWriter().write("图片上传失败!!!");
     }
 }
 上传完成后:
OK,完成了!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值