📄 officeserver.aspx.cs
字号:
using System;
using System.IO;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace iWebOffice.ocx.c.net
{
/// <summary>
/// OfficeServer 的摘要说明。
/// </summary>
public class OfficeServer : System.Web.UI.Page
{
private int mFileSize;
private byte[] mFileBody;
private string mFileName;
private string mFileType;
private string mFileDate;
private string mFileID;
private string mRecordID;
private string mTemplate;
private string mDateTime;
private string mOption;
private string mMarkName;
private string mPassword;
private string mMarkList;
private string mBookmark;
private string mDescript;
private string mHostName;
private string mMarkGuid;
private string mDirectory;
private string mHtmlName;
private string mFilePath;
private string mUserName;
private string mCommand;
private string mContent;
private string mLabelName;
private string mImageName;
private string mTableContent;
private int mColumns;
private int mCells;
private string mLocalFile;
private string mRemoteFile;
private string mFieldName;
private string mFieldValue;
private string mError;
//打印控制
private string mOfficePrints;
private int mCopies;
//自定义信息传递
private string mInfo;
private DBstep.iMsgServer2000 MsgObj;
private iDBManage2000 DBAobj;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
DBAobj=(iDBManage2000)Session["DBDemo"];
MsgObj = new DBstep.iMsgServer2000();
mFilePath=Server.MapPath(".");
mTableContent="";
mColumns=3;
mCells=8;
MsgObj.MsgVariant(Request.BinaryRead(Request.ContentLength));
if( MsgObj.GetMsgByName("DBSTEP").Equals("DBSTEP")) //如果是合法的信息包
{
mOption=MsgObj.GetMsgByName("OPTION"); //取得操作信息
mUserName=MsgObj.GetMsgByName("USERNAME"); //取得操作用户名称
if(mOption.Equals("LOADFILE")) //下面的代码为打开服务器数据库里的文件
{
mRecordID=MsgObj.GetMsgByName("RECORDID"); //取得文档编号
mFileName=MsgObj.GetMsgByName("FILENAME"); //取得文档名称
mFileType=MsgObj.GetMsgByName("FILETYPE"); //取得文档类型
MsgObj.MsgTextClear(); //清除文本信息
//if (MsgObj.MsgFileLoad(mFilePath+"\\"+mFileName)) //从文件夹调入文档
if (LoadFile()) //从数据库调入文档
{
MsgObj.MsgFileBody(mFileBody); //将文件信息打包
MsgObj.SetMsgByName("STATUS","打开成功!."); //设置状态信息
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("打开失败!"); //设置错误信息
}
}
else if(mOption.Equals("SAVEFILE")) //下面的代码为保存文件在服务器的数据库里
{
mRecordID=MsgObj.GetMsgByName("RECORDID"); //取得文档编号
mFileName=MsgObj.GetMsgByName("FILENAME"); //取得文档名称
mFileType=MsgObj.GetMsgByName("FILETYPE"); //取得文档类型
mContent=MsgObj.GetMsgByName("CONTENT");
mFileSize=MsgObj.MsgFileSize(); //取得文档大小
mFileDate=DBAobj.GetDateTime(); //取得文档时间
mFileBody=MsgObj.MsgFileBody(); //取得文档内容
mFilePath=""; //如果保存为文件,则填写文件路径
mUserName=MsgObj.GetMsgByName("USERNAME"); //取得保存用户名称
//MyDefine1=MsgObj.GetMsgByName("MyDefine1") //取得客户端传递变量值 MyDefine1="自定义变量值1"
mDescript="通用版本"; //版本说明
MsgObj.MsgTextClear(); //清除文本信息
//if (MsgObj.MsgFileSave(mFilePath+"\\"+mFileName)) //保存文档内容到文件夹中
if (SaveFile()) //保存文档内容到数据库中
{
MsgObj.SetMsgByName("STATUS", "保存成功!"); //设置状态信息
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("保存失败!"); //设置错误信息
}
MsgObj.MsgFileClear();
}
else if(mOption.Equals("LOADTEMPLATE")) //下面的代码为打开服务器数据库里的模板文件
{
mTemplate=MsgObj.GetMsgByName("TEMPLATE"); //取得模板文档类型
//本段处理是否调用文档时打开模版,
//还是套用模版时打开模版。
mCommand=MsgObj.GetMsgByName("COMMAND"); //取得客户端定义的变量COMMAND值
if (mCommand.Equals("INSERTFILE"))
{
MsgObj.MsgTextClear(); //清除文本信息
if (MsgObj.MsgFileLoad(mFilePath+"\\Document\\"+mTemplate)) //调入模板文档
{
MsgObj.SetMsgByName("STATUS","打开模板成功!"); //设置状态信息
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("打开模板失败!"); //设置错误信息
}
}
else
{
MsgObj.MsgTextClear();
if (LoadTemplate()) //调入模板文档
{
MsgObj.MsgFileBody(mFileBody); //将文件信息打包
MsgObj.SetMsgByName("STATUS","打开模板成功!"); //设置状态信息
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("打开模板失败!"); //设置错误信息
}
}
}
else if(mOption.Equals("SAVETEMPLATE")) //下面的代码为保存模板文件在服务器的数据库里
{
mTemplate=MsgObj.GetMsgByName("TEMPLATE"); //取得文档编号
mFileName=MsgObj.GetMsgByName("FILENAME"); //取得文档名称
mFileType=MsgObj.GetMsgByName("FILETYPE"); //取得文档类型
mFileSize=MsgObj.MsgFileSize(); //取得文档大小
mFileDate=DBAobj.GetDateTime(); //取得文档时间
mFileBody=MsgObj.MsgFileBody(); //取得文档内容
mFilePath=""; //如果保存为文件,则填写文件路径
mUserName=MsgObj.GetMsgByName("USERNAME"); //取得保存用户名称
mDescript="通用模板"; //版本说明
// mMyDefine1=MsgObj.GetMsgByName("MyDefine1") '取得客户端定义的变量值MyDefine1="自定义变量值1"
MsgObj.MsgTextClear(); //清除文本信息
if (SaveTemplate()) //保存文档内容
{
MsgObj.SetMsgByName("STATUS", "保存模板成功!"); //设置状态信息
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("保存模板失败!"); //设置错误信息
}
MsgObj.MsgFileClear(); //清除文档内容
}
else if(mOption.Equals("LISTVERSION")) //下面的代码为打开版本列表
{
mRecordID=MsgObj.GetMsgByName("RECORDID"); //取得文档编号
mUserName=MsgObj.GetMsgByName("USERNAME"); //取得保存用户名称
MsgObj.MsgTextClear(); //清除文本信息
if (ListVersion()) //生成版本列表
{
MsgObj.SetMsgByName("FILEID",mFileID); //将文档号列表打包
MsgObj.SetMsgByName("DATETIME",mDateTime); //将日期时间列表打包
MsgObj.SetMsgByName("USERNAME",mUserName); //将用户名列表打包
MsgObj.SetMsgByName("DESCRIPT",mDescript); //将说明信息列表打包
MsgObj.SetMsgByName("STATUS","版本列表成功!"); //设置状态信息
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("版本列表失败!"); //设置错误信息
}
}
else if(mOption.Equals("LOADVERSION")) //下面的代码为打开版本文档
{
mRecordID=MsgObj.GetMsgByName("RECORDID"); //取得文档编号
mFileID=MsgObj.GetMsgByName("FILEID"); //取得版本文档号
MsgObj.MsgTextClear(); //清除文本信息
if (LoadVersion(mFileID)) //调入该版本文档
{
MsgObj.MsgFileBody(mFileBody); //将文档信息打包
MsgObj.SetMsgByName("STATUS","打开版本成功!"); //设置状态信息
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("打开版本失败!"); //设置错误信息
}
}
else if(mOption.Equals("SAVEVERSION")) //下面的代码为保存版本文档
{
mRecordID=MsgObj.GetMsgByName("RECORDID"); //取得文档编号
mFileName=MsgObj.GetMsgByName("FILENAME"); //取得文档名称
mFileType=MsgObj.GetMsgByName("FILETYPE"); //取得文档类型
mFileSize=MsgObj.MsgFileSize(); //取得文档大小
mFileDate=DBAobj.GetDateTime(); //取得文档时间
mFileBody=MsgObj.MsgFileBody(); //取得文档内容
mFilePath=""; //如果保存为文件,则填写文件路径
mUserName=MsgObj.GetMsgByName("USERNAME"); //取得保存用户名称
mDescript=MsgObj.GetMsgByName("DESCRIPT"); //取得说明信息
MsgObj.MsgTextClear();
if (SaveVersion()) //保存版本文档
{
MsgObj.SetMsgByName("STATUS", "保存版本成功!"); //设置状态信息
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("保存版本失败!"); //设置错误信息
}
MsgObj.MsgFileClear(); //清除文档内容
}
else if(mOption.Equals("LOADBOOKMARKS")) //下面的代码为取得文档标签
{
mRecordID=MsgObj.GetMsgByName("RECORDID"); //取得文档编号
mTemplate=MsgObj.GetMsgByName("TEMPLATE"); //取得模板编号
mFileName=MsgObj.GetMsgByName("FILENAME"); //取得文档名称
mFileType=MsgObj.GetMsgByName("FILETYPE"); //取得文档类型
MsgObj.MsgTextClear();
if (LoadBookMarks())
{
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("打开标签信息失败!"); //设置错误信息
}
}
else if (mOption.Equals("SAVEBOOKMARKS")) //下面的代码为取得标签文档内容
{
mTemplate=MsgObj.GetMsgByName("TEMPLATE"); //取得模板编号
if (SaveBookMarks())
{
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("保存标签信息失败!"); //设置错误信息
}
MsgObj.MsgTextClear();
}
else if(mOption.Equals("LISTBOOKMARKS")) //下面的代码为显示标签列表
{
MsgObj.MsgTextClear(); //清除文本信息
if (ListBookmarks())
{
MsgObj.SetMsgByName("BOOKMARK",mBookmark); //将用户名列表打包
MsgObj.SetMsgByName("DESCRIPT",mDescript); //将说明信息列表打包
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("调入标签失败!"); //设置错误信息
}
}
else if(mOption.Equals("LOADMARKLIST")) //下面的代码为创建印章列表
{
MsgObj.MsgTextClear(); //清除文本信息
if (LoadMarkList())
{
MsgObj.SetMsgByName("MARKLIST",mMarkList); //显示签章列表
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("创建印章列表失败!"); //设置错误信息
}
}
else if(mOption.Equals("LOADMARKIMAGE")) //下面的代码为打开印章文件
{
mMarkName=MsgObj.GetMsgByName("IMAGENAME"); //取得签名名称
mUserName=MsgObj.GetMsgByName("USERNAME"); //取得用户名称
mPassword=MsgObj.GetMsgByName("PASSWORD"); //取得用户密码
mFileType=".jpg"; //默认为.jpg类型
MsgObj.MsgTextClear();
if (LoadMarkImage(mMarkName,mPassword)) //调入签名信息
{
MsgObj.SetMsgByName("IMAGETYPE",mFileType); //设置签名类型
MsgObj.MsgFileBody(mFileBody); //将文件信息打包
MsgObj.SetMsgByName("STATUS","打开成功!"); //设置状态信息
MsgObj.MsgError(""); //清除错误信息
}
else
{
MsgObj.MsgError("签名或密码错误!"); //设置错误信息
}
}
else if(mOption.Equals("SAVESIGNATURE")) //下面的代码为保存签章基本信息
{
mRecordID=MsgObj.GetMsgByName("RECORDID"); //取得文档编号
mFileName=MsgObj.GetMsgByName("FILENAME"); //取得标签文档内容
mMarkName=MsgObj.GetMsgByName("MARKNAME"); //取得签名名称
mUserName=MsgObj.GetMsgByName("USERNAME"); //取得用户名称
mDateTime=MsgObj.GetMsgByName("DATETIME"); //取得签名时间
mHostName=Request.ServerVariables["REMOTE_ADDR"].ToString(); //取得用户IP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -