sUploadDir变量是上传的路径,默认为/UploadFile/,我现在改为/news/pic/200612/11/下,上传没发现问题,不过上传得2-4秒(因为是本机所以不可能这么慢),如果改成/news/就非常的快,都弄一下午了,还是没有发现问题,希望有人帮助,谢谢!
下面是upload.jsp(不是我写的,是网上找的,不过问题就是在这里)
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.util.regex.*"%>
<%@ page import="com.jspsmart.upload.*"%>
<%@ page import="net.fiyu.edit.RemotePic"%>
<jsp:useBean id="date" scope="page" class="net.fiyu.edit.TimeStamp"/>
<%@ page import="net.fiyu.edit.UploadWebHelper,net.fiyu.edit.UploadBean"%>
<%@ page import="net.cryy.utils.NewsUtil"%><%!
// 参数变量
String sType, sStyleName;
//' 设置变量
String sAllowExt, sUploadDir,sBaseUrl,sContentPath;
int  nAllowSize;
//' 接口变量
String sFileExt,sSaveFileName,sOriginalFileName,sPathFileName,FileName, nFileNum;
String sAction;
Connection connect = null;
%>
<%!
/*' ============================================
' 去除Html格式,用于从数据库中取出值填入输入框时
' 注意:value="?"这边一定要用双引号
' ============================================*/
public String inHTML(String str)
{String sTemp;sTemp = str;if(sTemp.equals("")){System.exit(0);}sTemp = sTemp.replaceAll("&", "&");sTemp = sTemp.replaceAll("<", "<");sTemp = sTemp.replaceAll(">", ">");sTemp = sTemp.replaceAll("\"", """);return sTemp;
}
//初始化上传限制数据
public void InitUpload(String realpath,ServletContext ctx){UploadWebHelper uw = new UploadWebHelper();uw.filename = realpath + "WEB-INF/style.xml";uw.getInstance();UploadBean bean = uw.InitPara();try {sUploadDir = NewsUtil.getNewsUploadPath("/news/pic/", ctx);if (sType.equalsIgnoreCase("remote")) {sAllowExt = bean.getSremoteext();sAllowExt = sAllowExt + "|" + sAllowExt.toUpperCase();nAllowSize = Integer.parseInt(bean.getSremotesize());} else if (sType.equalsIgnoreCase("file")) {sAllowExt = bean.getSfileext();sAllowExt = sAllowExt + "|" + sAllowExt.toUpperCase();nAllowSize = Integer.parseInt(bean.getSfilesize());} else if (sType.equalsIgnoreCase("media")) {sAllowExt = bean.getSmediaext();sAllowExt = sAllowExt + "|" + sAllowExt.toUpperCase();nAllowSize = Integer.parseInt(bean.getSmediasize());} else if (sType.equalsIgnoreCase("flash")) {sAllowExt = bean.getSflashext();sAllowExt = sAllowExt + "|" + sAllowExt.toUpperCase();nAllowSize = Integer.parseInt(bean.getSflashsize());} else {sAllowExt = bean.getSimageext();sAllowExt = sAllowExt + "|" + sAllowExt.toUpperCase();nAllowSize = Integer.parseInt(bean.getSimagesize());}}catch(Exception e){}
}
%>
<%
//设置类型
sType=request.getParameter("type");
if(sType==null)
{
sType="image";
}
else
sType=request.getParameter("type").trim();
//设置样式
sStyleName=request.getParameter("style");
if (sStyleName==null)
{sStyleName="standard";
}
else
sStyleName=request.getParameter("style").trim();
//设置动作
sAction=request.getParameter("action");
if(sAction==null)
{sAction="sun";
}
else
sAction=request.getParameter("action").trim();
%>
<%
InitUpload(config.getServletContext().getRealPath("/"),application);if(sAction.equalsIgnoreCase("remote"))
{    //远程自动获取String sContent;String RemoteFileurl=null;String Protocol,sUrl;int Port;String LocalFileurl=null;String SrcFileurl=null;String SaveFileName=null;sContent=request.getParameter("eWebEditor_UploadText");if(sContent==null){sContent="sunshanfeng";}elsesContent=request.getParameter("eWebEditor_UploadText");if(sAllowExt!=""){Pattern pRemoteFileurl = Pattern.compile("((http|https|ftp|rtsp|mms):(//|\\\\){1}(([A-Za-z0-9_-])+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(\\S*/)((\\S)+[.]{1}(" + sAllowExt + ")))");//取得网页上URL的正则表达式Matcher mRemoteFileurl = pRemoteFileurl.matcher(sContent);//对传入的字符串进行匹配Protocol = request.getProtocol();//取得通讯的协议String ProtocolA[] = Protocol.split("/");//取得协议前面的字母,如HTTP/1.1,变为"HTTP","1.1"sUrl = ProtocolA[0] + "://" + request.getServerName();//取得本地URL路径,如http://localhost//ProtocolA[]=null;Port = request.getServerPort();//取得端口值if (Port != 80) {//查看端口是否为80,如果不是还需要在联接上加上端口sUrl = sUrl + ":" + Port;}String context = request.getContextPath();StringBuffer sb = new StringBuffer();boolean result = mRemoteFileurl.find();int i = 0;while (result) {i++;RemoteFileurl = mRemoteFileurl.group(0);sOriginalFileName = RemoteFileurl.substring(RemoteFileurl.lastIndexOf("/"));Pattern pFileType = Pattern.compile("[.]{1}(" + sAllowExt + ")");//二次匹配取得文件的类型Matcher mFileType = pFileType.matcher(RemoteFileurl);while (mFileType.find()) {String SaveFileType = mFileType.group();LocalFileurl = sUploadDir + (String) date.Time_Stamp() + i + SaveFileType;//文件的路径,以时间戳命名}String LoadFile = sUploadDir.substring(0, sUploadDir.length() - 1);SaveFileName = config.getServletContext().getRealPath("/") + LoadFile + "\\" + LocalFileurl.substring(LocalFileurl.lastIndexOf("/") + 1);sSaveFileName = LocalFileurl.substring(LocalFileurl.lastIndexOf("/"));RemotePic Down = new RemotePic();Down.picurl = RemoteFileurl;Down.savepath = SaveFileName;if (Down.download())//如果上载保存成功,则更换html标记里的文件路径{mRemoteFileurl.appendReplacement(sb, LocalFileurl);//替换路径}result = mRemoteFileurl.find();}mRemoteFileurl.appendTail(sb);sContent = sb.toString();}sContent=inHTML(sContent);out.println("<HTML><HEAD><TITLE>远程上传</TITLE><meta http-equiv='Content-Type' content='text/html; charset=gb2312'></head><body>");out.print("<input type=hidden id=UploadText value=\"");out.print(sContent);out.println("\">");out.println("</body></html>");out.println("<script language=javascript>");out.print("parent.setHTML(UploadText.value);try{parent.addUploadFile('");//为什么只取一半的值?且只取复制网页插入位置之前的值?out.print(sOriginalFileName);out.print("', '");out.print(sSaveFileName);out.print("', '");out.print(SaveFileName);out.println("');} catch(e){} parent.remoteUploadOK();");out.println("</script>");//DoRemote();
}
else if(sAction.equalsIgnoreCase("save"))
{//显示上传菜单out.println("<HTML>");out.println("<HEAD>");out.println("<TITLE>文件上传</TITLE>");out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">");out.println("<style type=\"text/css\">");out.println("body, a, table, div, span, td, th, input, select{font:9pt;font-family: \"宋体\", Verdana, Arial, Helvetica, sans-serif;}");out.println("body {padding:0px;margin:0px}");out.println("</style>");out.println("<script language=\"JavaScript\" src=\"dialog/dialog.js\">");out.println("</script>");out.println("</head>");out.println("<body bgcolor=menu>");out.print("<form action=\"?action=save&type=");//注意此处为什么不用println()out.print(sType);out.print("&style=");out.print(sStyleName);out.println("\" method=post name=myform enctype=\"multipart/form-data\">");out.println("<input type=file name=uploadfile size=1 style=\"width:100%\" οnchange=\"originalfile.value=this.value\">");out.println("<input type=hidden name=originalfile value=\"\">");out.println("</form>");out.println("<script language=javascript>");out.print("var sAllowExt = \"");out.print(sAllowExt);out.println("\";");out.println("// 检测上传表单");out.println("function CheckUploadForm() {");out.println("if (!IsExt(document.myform.uploadfile.value,sAllowExt)){");out.println("parent.UploadError(\"提示:\\n\\n请选择一个有效的文件,\\n支持的格式有(\"+sAllowExt+\")!\");");out.println("return false;");out.println("}");out.println("return true");out.println("}");out.println("// 提交事件加入检测表单");out.println("var oForm = document.myform;");out.println("oForm.attachEvent(\"onsubmit\", CheckUploadForm) ;");out.println("if (! oForm.submitUpload) oForm.submitUpload = new Array() ;");out.println("oForm.submitUpload[oForm.submitUpload.length] = CheckUploadForm ;");out.println("if (! oForm.originalSubmit) {");out.println("oForm.originalSubmit = oForm.submit ;");out.println("oForm.submit = function() {");out.println("if (this.submitUpload) {");out.println("for (var i = 0 ; i < this.submitUpload.length ; i++) {");out.println("this.submitUpload[i]() ;");out.println("            }");out.println("     }");out.println("     this.originalSubmit() ;");out.println("   }");out.println("}");out.println("// 上传表单已装入完成");out.println("try {");out.println(" parent.UploadLoaded();");out.println("}");out.println("catch(e){");out.println("}");out.println("</script>");out.println("</body>");out.println("</html>");//存文件//DoSave();SmartUpload up = new SmartUpload();//初始化上传组件up.initialize(pageContext);//设置上传文件大小up.setMaxFileSize(nAllowSize*1024);//设置上传文件类型String setExt=sAllowExt.replace('|',',');up.setAllowedFilesList(setExt);// Uploadup.upload();// Select each filefor (int i=0;i<up.getFiles().getCount();i++){// Retreive the current filecom.jspsmart.upload.File myFile = up.getFiles().getFile(i);if (!myFile.isMissing()) {FileName=(String)date.Time_Stamp();sOriginalFileName=myFile.getFileName();myFile.saveAs("/"+sUploadDir+FileName+"."+myFile.getFileExt());sSaveFileName=FileName+"."+myFile.getFileExt();sPathFileName=sUploadDir+sSaveFileName;}}out.println("><script language=javascript>");out.print("parent.UploadSaved('");out.print(sSaveFileName);out.print("');var obj=parent.dialogArguments.dialogArguments;if (!obj) obj=parent.dialogArguments;try{obj.addUploadFile('");out.print(sOriginalFileName);out.print("', '");out.print(sSaveFileName);out.print("', '");out.print(sPathFileName);out.print("');} catch(e){}");out.println(";history.back()</script>");
}
else
{//显示上传表单out.println("<HTML>");out.println("<HEAD>");out.println("<TITLE>文件上传</TITLE>");out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">");out.println("<style type=\"text/css\">");out.println("body, a, table, div, span, td, th, input, select{font:9pt;font-family: \"宋体\", Verdana, Arial, Helvetica, sans-serif;}");out.println("body {padding:0px;margin:0px}");out.println("</style>");out.println("<script language=\"JavaScript\" src=\"dialog/dialog.js\">");out.println("</script>");out.println("</head>");out.println("<body bgcolor=menu>");out.print("<form action=\"?action=save&type=");out.print(sType);out.print("&style=");out.print(sStyleName);out.println("\" method=post name=myform enctype=\"multipart/form-data\">");out.println("<input type=file name=uploadfile size=1 style=\"width:100%\" οnchange=\"originalfile.value=this.value\">");out.println("<input type=hidden name=originalfile value=\"\">");out.println("</form>");out.println("<script language=javascript>");out.print("var sAllowExt = \"");out.print(sAllowExt);out.println("\";");out.println("// 检测上传表单");out.println("function CheckUploadForm() {");out.println(" if (!IsExt(document.myform.uploadfile.value,sAllowExt)){");out.println("      parent.UploadError(\"提示:\\n\\n请选择一个有效的文件,\\n支持的格式有(\"+sAllowExt+\")!\");");out.println("     return false;");out.println(" }");out.println(" return true");out.println("}");out.println("// 提交事件加入检测表单");out.println("var oForm = document.myform ;");out.println("oForm.attachEvent(\"onsubmit\", CheckUploadForm) ;");out.println("if (! oForm.submitUpload) oForm.submitUpload = new Array() ;");out.println("oForm.submitUpload[oForm.submitUpload.length] = CheckUploadForm ;");out.println("if (! oForm.originalSubmit) {");out.println(" oForm.originalSubmit = oForm.submit ;");out.println("    oForm.submit = function() {");out.println("      if (this.submitUpload) {");out.println("          for (var i = 0 ; i < this.submitUpload.length ; i++) {");out.println("              this.submitUpload[i]() ;");out.println("          }");out.println("     }");out.println("     this.originalSubmit() ;");out.println("   }");out.println("}");out.println("// 上传表单已装入完成");out.println("try {");out.println(" parent.UploadLoaded();");out.println("}");out.println("catch(e){");out.println("}");out.println("</script>");out.println("</body>");out.println("</html>");//out.println("123");}
%>

sUploadDir相关推荐

  1. 通用类 RemoteUpload 远程上传从其他网站复制过来的图片

    /// <summary>/// 远程上传从其他网站复制过来的图片/// </summary>public class RemoteUpload{/// <summary ...

  2. 目前所有ewebeditor版本***的漏洞与问题总结

    1.ewebeditor 1.0.0 上传漏洞:这个是仿照冰的原点的exp写的. <H1>ewebeditor asp版1.0.0 上传漏洞利用程序--By HCocoa</H1&g ...

  3. ewebeditor漏洞之目录遍历漏洞

    这里大概说一下!目录遍历漏洞基本存在于ewebeditor/admin_uploadfile.asp 高版本的是ewebeditor/admin/upload.asp 文件!这个文件有的不需要登陆验证 ...

  4. Ewebeditor使用说明(转载)

    一.部署方式: 1.直接把压缩目录中的文件拷贝到您的网站发布目录下: 2.配置对应WEB-INF下文件,把eWebEditor文件夹下WEB-INF/web.xml中 <display-name ...

  5. Ewebeditor最新漏洞和漏洞指数

    Ewebeditor最新漏洞和漏洞指数[收集] 来源:转载作者:佚名时间:2009-06-03 00:04:26 下面文章收集转载于网络:) 算是比較全面的ewebeditor编辑器的漏洞收集,如今的 ...

  6. Ewebeditor最新漏洞及漏洞大全

    Ewebeditor最新漏洞及漏洞大全[收集] 来源:转载作者:佚名时间:2009-06-03 00:04:26 以下文章收集转载于网络:) 算是比较全面的ewebeditor编辑器的漏洞收集,现在的 ...

  7. ewebeditor漏洞,ewebeditor漏洞攻击

    ewebeditor漏洞,ewebeditor漏洞攻击      先从最基本的记录起!通常入侵ewebeditor编辑器的步骤如下: 1.首先访问默认管理页看是否存在.         默认管理页地址 ...

最新文章

  1. Java Spring @Scheduled 定时任务crontab表达式设置
  2. Jabba: hybrid error correction for long sequencing reads using maximal exact matches机译:Jabba:使用最大精
  3. char类型是多少 mat_opencv之Mat数据类型
  4. HTML的target属性中_blank、_self、_parent、_top含义
  5. js中获取 table节点各tr及td的内容方法
  6. Eclipse 可视化插件Windows Builder在线更新地址
  7. Eclipse安装中文语言包
  8. Linux中Vim的安装
  9. 同步检波 matlab,AgilentN9030A|安捷伦N9030A|KeysightN9030A|是德N9030A|频谱分析仪
  10. python ipo模型是指什么?
  11. 全球科学家公认的高效学习法——费曼学习法
  12. 小米平板2可以装鸿蒙系统,搞定LOL?Win10版小米平板2游戏性能实测
  13. 凸优化理论基础1--仿射集
  14. layui实现动态多级菜单
  15. plsql报错:Not logged on
  16. 一语道破 到底什么是知识产权?
  17. ajax hover,jQuery / 使用hover()和toggle()切换事件 - 汇智网
  18. 动物实验,如何设置对照?
  19. java毕业设计瓷砖仓库管理mybatis+源码+调试部署+系统+数据库+lw
  20. Rita Hayworth and Shawshank Redemption

热门文章

  1. 海外众筹:产品出海kickstarter海外众筹流程
  2. 北欧蓝rgb_2015年北欧游戏果酱
  3. 设置等级对照表的表格
  4. Hive练习-面试题
  5. 浅谈互联网行业发展趋势及现状
  6. shell中的浮点数运算之bc命令简介
  7. java多线程学习笔记--一.多线程的基础知识
  8. STM32步进电机S型加减速算法
  9. restapi是什么意思_简单理解什么是REST和RESTful
  10. 2023交易猫源码跳转APP