关于jsp中<input type="file">获取路径问文件名,获取完全路径问题

关于jsp中<input type="file">获取路径问文件名,获取完全路径问题

原来上传文件用js获取文件路径只需var obj=document.getElementByid(id);var path=obj.value;即可。但是升级浏览器后,获取的路径是文件名字。

,该方法比较不错,适用于各种浏览器,返回图片绝对路径

obj就是上文提到的obj

function getFullPath(obj)
{
if(obj)
{
//ie
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
obj.select();
return document.selection.createRange().text;
}
//firefox
else if(window.navigator.userAgent.indexOf("Firefox")>=1)
{
if(obj.files)
{
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
}

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
<%@ page language="java" contentType="text/html; charset=gbk"%> <%@ page pageEncoding="gbk"%> <%@ page import="com.jspsmart.upload.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk"> <title>Insert title here</title> </head> <body> <form action="upd2.jsp" method="post" enctype="multipart/form-data" name="form1"> <input type="file" name="file1"> <input type="text" name="title"> <input type="text" name="content"> <input type="submit" value="上传" > </form> </body> </html> 接受上传文件:okUpload.jsp 接受图片改变名称保存到指定目录并在网页上发布 接受参数值并显示在图片下面 <%@ page language="java" contentType="text/html; charset=gbk"%> <%@ page pageEncoding="gbk"%> <%@ page import="com.jspsmart.upload.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk"> <title>上传处理</title> </head> <body> <% SmartUpload su=new SmartUpload(); //初始化 su.initialize(pageContext); //上传 su.upload(); // 设置保存信息 String dir="upload"; //获取上传文件列表集合 Files files=su.getFiles(); for(int i=0;i<files.getCount();i++){ File file=files.getFile(i); //判断上传的是不是文件 if(!file.isMissing()){ //将获取的图片另存为文件名为new,后缀名从原是文件获得 file.saveAs(dir+"/new."+file.getFileExt(),su.SAVE_VIRTUAL); //获取图片的客户端路径名 String name1=file.getFilePathName(); out.print("客户机原始路径名: "); out.print(name1); out.print("<br>"); out.print("服务器上的相对路径名: "); //构造服务器上的相对路径名 String name2=dir+"/"+"new.jpg"; out.print(name2); out.print("<br>"); %> <!-- 将上传后的图片发布 --> <img src="<%=name2 %>"> <% } } %> <!-- 获取传过来的非文件参数值 --> <%=su.getRequest().getParameter("title") %> <br> <%=su.getRequest().getParameter("content") %> <br> <br> </body> </html>
<form action="add_do.jsp" name="formlft" method="post" ENCTYPE="multipart/form-data" check(this)"> <TABLE> <TBODY> <tr><TD width=18% align="center">date:</TD> <td align=center width='18%'><input type="text" name="checkdate" size="12" readonly=true></td> <TD width=18% align="center">type:</TD> <td align=center width='18%'><select name="csttype" class="tex" > <option value=""></option> <option value="A">A</option> <option value="B">B</option> </select></td> <TD width=15% align="center">Record:</TD> <td align=center width='20%'>  <select name="reporter" class="tex"> <option value="Doris">Doris</option> <option value="Nancy">Nancy</option> <option value="Michelle">Michelle</option> </select>  </td> </tr> </TBODY> </TABLE> <TABLE> <TBODY> <TR class=header1 > <TD align=center width=1% >No.</TD> <TD align=center width=15% >ID</TD> <TD align=center width=20% >Reason</TD> <TD align=center width=20% >Remark</TD> <TD align=center width=20% >Status</TD> <TD align=center width=20% >op</TD> </TR> <TR> <td align=center>1</td> <TD align=center ><input type="text" name="id1" size="8"></TD> <TD align=center ><textarea name="reason1" rows="3" cols="14" ></textarea></TD> <TD align=center ><textarea name="remark1" rows="3" cols="14" ></textarea></TD> <TD align=center ><select name="status1" <option value=""></option> <option value="OK">OK</option> <option value="NG">NG</option> </select></TD> <TD align=center ><textarea name="op1" rows="3" cols="10" ></textarea></TD> <TD align=center ><input type="file" name="file1" size="10" ></TD> </TR> <TR> <td align=center>2</td> <TD align=center ><input type="text" name="id2" size="8"></TD> <TD align=center ><textarea name="reason2" rows="3" cols="14"></textarea></TD> <TD align=center ><textarea name="remark2" rows="3" cols="14"></textarea></TD> <TD align=center ><select name="status2" <option value=""></option> <option value="OK">OK</option> <option value="NG">NG</option> </select></TD> <TD align=center ><textarea name="op2" rows="3" cols="10"></textarea></TD> <TD align=center ><input type="file" name="file2" size="10" ></TD> </TR> <TR> <td align=center>3</td> <TD align=center ><input type="text" name="id3" size="8"></TD> <TD align=center ><textarea name="reason3" rows="3" cols="14"></textarea></TD> <TD align=center ><textarea name="remark3" rows="3" cols="14"></textarea></TD> <TD align=center ><select name="status3" <option value=""></option> option value=""></option> <option value="OK">OK</option> <option value="NG">NG</option> </select></TD> <TD align=center ><textarea name="op3" rows="3" cols="10"></textarea></TD> <TD align=center ><input type="file" name="file2" size="10" ></TD> </TR> </TBODY> <tr><td colspan=6> </td></tr> <tr><td colspan=2 align="center" >上传附件:</td> <td align="center" colspan=2><input type="file" class="bginput" name="attachment_array[]"></td><td colspan=2> </td></tr> <table name='tb2' id="tb2" width="200" border="0" width=100% align="center"> <tr><td align="center"><input type="submit" name="Submit" value="提交"></td> <td align="center"><input type="reset" name="reset" value="重置"></td> </tr> </table> </TABLE> </TABLE> </form> <%@ page import="java.text.*"%> <jsp:useBean id="jdbc" class="com.Jdbc_conn" scope="page" /> <%long today = System.currentTimeMillis(); java.util.Date todayime = new java.util.Date(today); SimpleDateFormat formatter = new SimpleDateFormat("yyMMddHHmmss"); String todaydate = formatter.format(todayime); //新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); //上传初始化 su.initialize(pageContext); //设定上传限制 //1.限制每个上传文件的最大长度。 //su.setMaxFileSize(10000); //2.限制总上传数据的长度。 //su.setTotalMaxFileSize(20000); //3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。 //su.setAllowedFilesList("doc,txt"); //4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有扩展名的文件。 su.setDeniedFilesList("exe,bat,jsp,htm,html,,"); //上传文件 su.upload(); //将上传文件全部保存到指定目录 int count = su.save("/upload"); out.println(count+"个文件上传成功!<br>"); String attachsourcename=""; String newfilename=""; String save=""; for (int j=0;j<su.getFiles().getCount();j++) { com.jspsmart.upload.File file = su.getFiles().getFile(j); // 若文件不存在则继续 if (file.isMissing()) continue; //显示当前文件信息 //另存到操作系统的根目录为文件根目录的目录下 实际的路径 attachsourcename=file.getFileName(); double a=Math.random(); Double d=new Double(a); String s=d.toString(); newfilename=todaydate+s.substring(2,6)+"."+file.getFileExt(); save="D:\\\\Workspace\\\\PM\\\\WebApp\\\\upload\\\\" +newfilename; file.saveAs(save,su.SAVE_PHYSICAL); //out.println("<TABLE BORDER=1>"); //out.println("<TR><TD>表单项名(FieldName)</TD><TD>"+ file.getFieldName() + "</TD></TR>"); //out.println("<TR><TD>文件长度(Size)</TD><TD>" + file.getSize() + "</TD></TR>"); //out.println("<TR><TD>文件名FileName)</TD><TD>" + file.getFileName() + "</TD></TR>"); //out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>" + file.getFileExt() + "</TD></TR>"); //out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"+ file.getFilePathName() + "</TD></TR>"); //out.println("<TR><TD>实际路径</TD><TD>"+ getServletContext().getRealPath("/") + "</TD></TR>"); //out.println("<TR><td align=center>下载</td><td><A href='/PM/servlet/MyServlet?name="+newfilename+ "'> " + file.getFileName() + "</a><td></TR>"); //out.println("</TABLE><BR>"); //out.println(agvid); } Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url = "jdbc:oracle:thin:@10.20.32.87:1521:XMCSHIS"; String user = "michelle"; String password = "michelle"; Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); try{ for(int i=1;i<=3;i++){ String checkdate=su.getRequest().getParameter("checkdate"); String csttype=su.getRequest().getParameter("csttype"); String cstid=su.getRequest().getParameter("" + "cstid"+i + ""); String reason=su.getRequest().getParameter("" + "reason"+i + ""); String remark=su.getRequest().getParameter("" + "remark"+i + ""); String status=su.getRequest().getParameter("" + "status"+i + ""); String op=su.getRequest().getParameter("" + "op"+i + ""); String reporter=su.getRequest().getParameter("reporter"); if(cstid.equals("")) {break;} String SQL="insert into michelle.Table1(checkdate ,type ,id,reason ,op ,remark ,attachsourcename ,newfilename ,reporter ,status )" +" values('"+checkdate+"','"+type+"',UPPER('"+id+"'),'"+reason+"','"+op+"','"+remark+"','"+attachsourcename+"','"+newfilename+"','"+reporter+"','"+status+"')"; //out.print(SQL); //out.println(11144); //stmt.executeUpdate(SQL); } out.println("<TD colspan=6 align=center>保存记录成功!</TD>"); } catch(Exception ex){ out.println("<TD colspan=6 align=center><FONT color=#FF0000> 保存记录失败!Error Info:<br> "+ex.getMessage()+" </FONT><br><br><a href='/PM/AGV/addagvweekly.jsp'>返回上一页</a></TD>"); //out.println("sql.executeUpdate:"+ex.getMessage()); }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值