123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405 |
- <%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
- <%@ page import="java.sql.*"%>
- <%@ page import="java.io.*"%>
- <%@ page import="java.util.*"%>
- <%@ page import="java.util.regex.*"%>
- <%@ page import="com.ccgj.database.tool.*"%>
- <%@ 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"%>
- <%!
- // 参数变量
- 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){
- UploadWebHelper uw = new UploadWebHelper();
- uw.filename = realpath+"WEB-INF/style.xml";
- uw.getInstance();
- UploadBean bean = uw.InitPara();
- try{
- sUploadDir = bean.getSuploaddir();
- //////////////
- ///add by zxl
- //if(!sUploadDir.endsWith(java.io.File.separator))
- // sUploadDir = sUploadDir + java.io.File.separator;
- if(!sUploadDir.endsWith("/"))
- sUploadDir = sUploadDir + "/";
- ///add by zxl end
- //System.out.println(sUploadDir);
- if(sType.equalsIgnoreCase("remote"))
- {
- sAllowExt = bean.getSremoteext();
- sAllowExt = sAllowExt + "|" + sAllowExt.toUpperCase();
- nAllowSize = Integer.parseInt(bean.getSremotesize()) ;
- //System.out.println(sAllowExt+nAllowSize);
- }
- else if(sType.equalsIgnoreCase("file"))
- {
- sAllowExt = bean.getSfileext();
- sAllowExt = sAllowExt + "|" + sAllowExt.toUpperCase();
- nAllowSize = Integer.parseInt(bean.getSfilesize());
- //System.out.println(sAllowExt+nAllowSize);
- }
- else if(sType.equalsIgnoreCase("media"))
- {
- sAllowExt = bean.getSmediaext();
- sAllowExt = sAllowExt + "|" + sAllowExt.toUpperCase();
- nAllowSize = Integer.parseInt(bean.getSmediasize());
- //System.out.println(sAllowExt+nAllowSize);
- }
- else if(sType.equalsIgnoreCase("flash"))
- {
- sAllowExt = bean.getSflashext();
- sAllowExt = sAllowExt + "|" + sAllowExt.toUpperCase();
- nAllowSize = Integer.parseInt(bean.getSflashsize());
- //System.out.println(sAllowExt+nAllowSize);
- }
- else
- {
- sAllowExt = bean.getSimageext();
- sAllowExt = sAllowExt + "|" + sAllowExt.toUpperCase();
- nAllowSize = Integer.parseInt(bean.getSimagesize());
- //System.out.println(sAllowExt+nAllowSize);
- }
- }
- catch(Exception e){
- e.printStackTrace();
- }
- }
- %>
- <%
- //设置类型
- sType=request.getParameter("type");
- if(sType==null)
- {
- sType="image";
- }
- else
- sType=request.getParameter("type").trim();
- //设置样式
- sStyleName=request.getParameter("style");
- System.out.println("sStyleName:"+sStyleName);
- if(sStyleName==null)
- {
- sStyleName="standard";
- }
- else
- sStyleName=request.getParameter("style").trim();
- //设置动作
- sAction=request.getParameter("action");
- System.out.println("sAction:"+sAction);
- if(sAction==null)
- {
- sAction="sun";
- }
- else
- sAction=request.getParameter("action").trim();
- %>
- <%
- //初始化上传变量
- InitUpload(config.getServletContext().getRealPath("/"));
- //断开数据库连接
- //sAction = UCase(Trim(Request.QueryString("action"))
- if(sAction.equalsIgnoreCase("remote"))
- { //远程自动获取
- String sContent="";
- String RemoteFileurl=null;
- String Protocol,sUrl;
- int Port;
- String LocalFileurl=null;
- String SrcFileurl=null;
- String SaveFileName=null;
- String sTemp[]=request.getParameterValues("eWebEditor_UploadText");
- for(int i=0;i<sTemp.length;i++)
- {
- sContent+=sTemp[i];
- }
- /* if(sContent==null)
- {
- sContent="sunshanfeng";
- }
- else
- {
- sContent=request.getParameter("eWebEditor_UploadText");
- }*/
- //System.out.println();
- //System.out.println();
- //System.out.println();
- //System.out.println();
- //System.out.println("替换前的html标记为:"+"\n"+sContent);
- 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();
- sUrl=sUrl+context+"/"+sUploadDir;
-
- //System.out.println(sUrl);
- StringBuffer sb=new StringBuffer();
- boolean result=mRemoteFileurl.find();
- int i=0;
- while(result)
- {
- i++;
- RemoteFileurl=mRemoteFileurl.group(0);
- //System.out.println();
- //System.out.println();
- //System.out.println();
- //System.out.println();
- //System.out.println("需要替换的远程连接:"+"\n"+RemoteFileurl);
- 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);
- //System.out.println();
- //System.out.println();
- //System.out.println();
- //System.out.println("远程文件保存的路径和文件名:"+"\n"+SaveFileName);
- 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);
- //System.out.println();
- //System.out.println();
- //System.out.println();
- //System.out.print("替换后的html标记:"+"\n"+sContent);
- out.println("<HTML><HEAD><TITLE>远程上传</TITLE><meta http-equiv='Content-Type' content='text/html; charset=fbk'></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);");
- //taurus 2008-04-17 修改开始
- // out.print("try{parent.addUploadFile('");//为什么只取一半的值?且只取复制网页插入位置之前的值?
- // out.print(sOriginalFileName);
- // out.print("', '");
- // out.print(sSaveFileName);
- // out.print("', '");
- // out.print(SaveFileName);
- // out.println("');} catch(e){} parent.remoteUploadOK();");
- //taurus 2008-04-17 修改结束 下边一行是本次添加的
- out.println("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=gbk\">");
- 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%\" onchange=\"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);
- // Upload
- up.upload();
- // Select each file
- for (int i=0;i<up.getFiles().getCount();i++){
- // Retreive the current file
- com.ccgj.database.tool.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;
- //System.out.println(sPathFileName);
- }
- }
- 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=gbk\">");
- 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%\" onchange=\"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");
- }
- %>
|