⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 upload_oth.jsp

📁 电信的网厅的整站代码
💻 JSP
字号:
<%@ page contentType="text/html;charset=GBK"%>
<%@ 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="com.doone.util.*"%>
<%!
// 参数变量
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 == null || sTemp.equals(""))
	{
		return "";
		//System.exit(0);
	}
	sTemp = sTemp.replaceAll("&", "&amp;");
	sTemp = sTemp.replaceAll("<", "&lt;");
	sTemp = sTemp.replaceAll(">", "&gt;");
	sTemp = sTemp.replaceAll("\"", "&quot;");
	return sTemp;
}
//初始化上传限制数据
public void InitUpload(String realpath){
	UploadWebHelper uw = new UploadWebHelper();
	uw.filename = realpath+"/view/bbs/WEB-INF/style.xml";
	uw.getInstance();
	UploadBean bean = uw.InitPara();
	try{
		sUploadDir = bean.getSuploaddir();
		FileLogger.getLogger().debug("上传文件的根目录:" + sUploadDir);

		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 if(sType.equalsIgnoreCase("attch")) {
			sAllowExt = bean.getSfileext();
			sAllowExt = sAllowExt + "|" + sAllowExt.toUpperCase();
			sAllowExt = sAllowExt + "|" + bean.getSmediaext();
			sAllowExt = sAllowExt + "|" + bean.getSimageext();
			sAllowExt = sAllowExt + "|" + bean.getSflashext();
			sAllowExt = sAllowExt + "|" + bean.getSmediaext().toUpperCase();
			sAllowExt = sAllowExt + "|" + bean.getSimageext().toUpperCase();
			sAllowExt = sAllowExt + "|" + bean.getSflashext().toUpperCase();
		}
		else
		{
			sAllowExt =  bean.getSimageext();
			sAllowExt = sAllowExt + "|" + sAllowExt.toUpperCase();
			nAllowSize = Integer.parseInt(bean.getSimagesize());
		}
		
		FileLogger.getLogger().debug("允许的扩展名:" + sAllowExt);
		FileLogger.getLogger().debug("允许上传文件的大小:" + String.valueOf(nAllowSize));
	}
	catch(Exception e){
		FileLogger.getLogger().warn(e.getMessage(),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("/"));
//断开数据库连接
//sAction = UCase(Trim(Request.QueryString("action"))
if(sAction.equalsIgnoreCase("remote"))
{    //远程自动获取
	String sContent;
		String RemoteFileurl=null;
	String Protocol,sUrl;
	int Port;
	String LocalFileurl=null;
	String SaveFileName=null;
	sContent=request.getParameter("eWebEditor_UploadText");
    if(sContent==null) {
		sContent="sunshanfeng";
	}
	else
		sContent=new String(request.getParameter("eWebEditor_UploadText").getBytes("iso8859-1"));
	
	FileLogger.getLogger().debug("替换前的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;
		FileLogger.getLogger().debug(sUrl);

		StringBuffer sb=new StringBuffer();
		boolean result=mRemoteFileurl.find();
		int i=0;
		while(result) {
			i++;
			RemoteFileurl=mRemoteFileurl.group(0);

			FileLogger.getLogger().debug("需要替换的远程连接:"+"\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);
			
			FileLogger.getLogger().debug("远程文件保存的路径和文件名:"+"\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);
	
	FileLogger.getLogger().debug("替换后的html标记:"+"\n"+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("try { var obj = null; ");
	out.print("if ( typeof(parent.setHTML) == 'function' ) {obj = parent;}");
	out.print("else if ( typeof(parent.dialogArguments.setHTML) == 'function' ) {obj = parent.dialogArguments;}");
	out.print("obj.setHTML(UploadText.value);");
	out.print("obj.parent.addUploadFile1('");//为什么只取一半的值?且只取复制网页插入位置之前的值?
	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%\" 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.jspsmart.upload.File myFile = up.getFiles().getFile(i);
		if (!myFile.isMissing()) {
			FileName=(String)date.Time_Stamp();
			sOriginalFileName=myFile.getFileName();///////////////////////////////////////////////////
			myFile.saveAs("/view/bbs/"+sUploadDir+FileName+"."+myFile.getFileExt());
			sSaveFileName=FileName+"."+myFile.getFileExt();
			sPathFileName=sUploadDir+sSaveFileName;
			
			FileLogger.getLogger().debug("保存的文件名为:" + sPathFileName);
			FileLogger.getLogger().debug("保存文件的ContentType:" + myFile.getContentType());
		}
	}
   	out.println("<script language=javascript>");
	out.print("parent.UploadSaved('");
	out.print(sSaveFileName);
	out.print("');");
	out.print("try{");
	out.print("var obj=parent.dialogArguments.dialogArguments;");
	out.print("if (!obj) obj=parent.dialogArguments.parent;");
	out.print("if (!obj) obj=parent.dialogArguments;");
	out.print("if (typeof(obj.addUploadFile1)=='function') obj.addUploadFile1('");
	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%\" 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");
}
%>


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -