main_html.jsp 6.43 KB
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@page import="java.net.*" %>
<%@page import="weaver.docs.pdf.docpreview.ConvertPDFUtil"%>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page"/>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page"/>
<jsp:useBean id="DocPreviewHtmlManager" class="weaver.docs.docpreview.DocPreviewHtmlManager" scope="page"/>
<%@ page import="weaver.docs.pdf.docpreview.ConvertPDFTools" %>
<%@ page import="weaver.email.service.MailFilePreviewService" %>
<%@ page import="com.api.doc.detail.util.ImageConvertUtil" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<% 
	BaseBean baseBeanRigthMenu = new BaseBean();

    int docId = Util.getIntValue(request.getParameter("docId"),0);//文档id
    int versionId = Util.getIntValue(request.getParameter("versionId"),0);//文档版本id
    String isPDF = Util.null2String(request.getParameter("isPDF"),"false");
    int imageFileId = Util.getIntValue(request.getParameter("imageFileId"),0);//文档附件id
	String imagefilename = Util.null2String(request.getParameter("imagefilename"),"document.pdf");
	
	String _agent = request.getHeader("user-agent");
	boolean isIE8 = (_agent.indexOf("MSIE 8.0;") > 0||_agent.indexOf("MSIE 7.0") > 0);

	int  userId=user.getUID();
	int  loginType= Util.getIntValue(user.getLogintype(),1);

	
	MailFilePreviewService mfps = new MailFilePreviewService();
	
	Map<String,String>	fileInfo = mfps.getFileInfoMap(user.getUID(),imageFileId + "");
	
	
	//判断当前用户对当前附件是否有权限 开始
	boolean hasRight = fileInfo.get("canread").equals("true") ? true : false;
	String filename = fileInfo.get("filename");
	
	if(!hasRight){
		response.sendRedirect("/notice/noright.jsp") ;
		return;
	}
	
	try{
	    boolean isUsePDFViewer = ConvertPDFUtil.isUsePDFViewer();
		int htmlFileId = 0;
		String viewpath = "";
		String errMsg = "";
	    if(isUsePDFViewer || "true".equals(isPDF)){
			//if("true".equals(isPDF)){
			//	htmlFileId = imageFileId;
			//}else{

			ImageConvertUtil icu = new ImageConvertUtil();
			boolean openConverForClient = icu.convertForClient();
			String _clientAddress = icu.getConvertIp();
			if(openConverForClient && !_clientAddress.isEmpty()){ //开启单独服务转换
				String clientAddress = request.getRequestURL().toString();
				clientAddress = clientAddress.substring(0,clientAddress.indexOf("/docs/view/main_html.jsp"));
				
				String convertType = "pdf";
				
				Map<String,String> params = new HashMap<String,String>();
				
				Map<String,Object> apidatas = icu.convertForPath(imageFileId,user,clientAddress,params,convertType,ImageConvertUtil.EMAIL_ACC_TABLE);
				if("0".equals(Util.null2String(apidatas.get("result")))){
					List<Map> datas = (List<Map>)apidatas.get("data");
					viewpath = Util.null2String(datas.get(0).get("path"));
				}else{
					errMsg = Util.null2String(apidatas.get("msg"));
				}
				if(!errMsg.isEmpty()){
					request.setAttribute("labelid",SystemEnv.getHtmlLabelName(500664,user.getLanguage()));
					request.getRequestDispatcher("/wui/common/page/sysRemindDocpreview.jsp").forward(request,response);
					return;
				}
			}
			else{
				ConvertPDFTools convertPDFTools = new ConvertPDFTools();
				htmlFileId= convertPDFTools.conertToPdfForEmail(imageFileId,filename,0);
				if(htmlFileId == -1){
					//				    500664 文件转换失败!
					request.setAttribute("labelid",SystemEnv.getHtmlLabelName(500664,user.getLanguage()));
					request.getRequestDispatcher("/wui/common/page/sysRemindDocpreview.jsp").forward(request,response);
					return;
				}
			}
			
			
				
	    }else{
			int maxFileSize = Util.getIntValue(RecordSet.getPropValue("docpreview","maxFileSize"),5);
			int fileSize = Util.getIntValue( fileInfo.get("filesize"),0);
			if(fileSize>maxFileSize*1024*1024){
				request.setAttribute("labelid","-99999");
				request.getRequestDispatcher("/wui/common/page/sysRemind.jsp").forward(request,response);
				return;
			}
			try{
				 htmlFileId=DocPreviewHtmlManager.doFileConvertForEmail(imageFileId,filename,0);
				 if(htmlFileId == -1){
					request.setAttribute("labelid",SystemEnv.getHtmlLabelName(500664,user.getLanguage()));
					request.getRequestDispatcher("/wui/common/page/sysRemindDocpreview.jsp").forward(request,response);
					return;
				}
			}catch(Exception fpe){	
			    request.setAttribute("labelid",Util.null2String(fpe.getMessage()));
				request.getRequestDispatcher("/wui/common/page/sysRemindDocpreview.jsp").forward(request,response);
				return;
			}
	    }
		if(htmlFileId>0 || !viewpath.isEmpty()){
		%>
		<script type="text/javascript">
				try{
					document.body.style.overflow="hidden";
				}catch(e){}
				function hideLoading(){
					try{
						parent.finalDo("view");
					}catch(e){
						window.setTimeout(function(){
								try{
									parent.finalDo("view");
								}catch(e){}
									},1000);					
					}
				}
		</script>
			<%if(!viewpath.isEmpty()){ %>
				<iframe id="htmlShowContent" frameborder="0" onselectstart="return false;" unselectable="on" style="width:100%;height:100%;" src="<%=viewpath%>" onload="hideLoading();"></iframe>
			<% }else if((isUsePDFViewer || "true".equals(isPDF))&&!isIE8) { %>
		<iframe id="htmlShowContent" frameborder="0" onselectstart="return false;" unselectable="on" style="width:100%;height:100%;" hidden="hidden" src="<%="/docs/pdfview/web/filepdfview.jsp?imagefilename="+URLEncoder.encode(imagefilename,"utf-8")+"&pdfimagefileid="+htmlFileId %>&model=email" onload="changeType();hideLoading();"></iframe>	
		<%
			}
			else{
				 %>
<%--385677 下载--%>
				 <iframe id="htmlShowContent" frameborder="0" style="width:100%;height:100%;" src="<%="/weaver/weaver.file.FileDownload?fileid="+htmlFileId%>&model=email"
						 hidden="hidden" src="<%=SystemEnv.getHtmlLabelName(385677, user.getLanguage())%>
" onload="changeType();hideLoading();"></iframe>
				 <%
			}
		}

	}catch(Exception e){
		RecordSet.writeLog(e);
		request.setAttribute("labelid","123456");
		request.getRequestDispatcher("/wui/common/page/sysRemind.jsp").forward(request,response);
		return;
	}
%>
<script type="text/javascript">
	
	function changeType(){
		var $body = document.getElementById("htmlShowContent").contentWindow.document.body;
		replaceImgSrc($body);
		jQuery("#htmlShowContent").removeAttr("hidden");
	}
	
	function replaceImgSrc($obj){
		if($obj.tagName == "IMG"){
			$obj.setAttribute("src",$obj.getAttribute("src"));
		}else{
			for(var i = 0;i < $obj.childNodes.length;i++){
				replaceImgSrc($obj.childNodes[i]);
			}
		}
		
	}
</script>