📄 webdocserver.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using DotNetOfficeServer;
using System.Text;
namespace OI.DocTemplate
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebDocServer : OI.PageBase
{
private string myConnectionString = System.Configuration.ConfigurationSettings.AppSettings["conn"];
private OI.DatabaseOper.DatabaseConnect dc=new OI.DatabaseOper.DatabaseConnect();
private void Page_Load(object sender, System.EventArgs e)
{
try
{
byte[] x;
x=Request.BinaryRead(Request.ContentLength);
OfficeServer mObj=new OfficeServer();
mObj.SetObj(x);
string option=mObj.GetFieldData("OPTION");
switch (option)
{
case "SAVEFILE":
SaveFile(x,mObj);
mObj.setfield("STATUS","保存成功!");
mObj.Error="";
break;
case "LOADFILE":
LoadFile(mObj);
mObj.Error="";
mObj.ClearFields();
break;
case "LOADVERSION":
loadVersion(mObj);
mObj.Error="";
mObj.ClearFields();
break;
case "LISTVERSION":
ListVersion(mObj);
mObj.Error="";
break;
case "SAVEVERSION":
SaveVersion(x,mObj);
mObj.Error="";
mObj.ClearFields();
break;
case "SaveMARKIMAGE":
SaveMarkImage(x,mObj);
mObj.Error="";
mObj.ClearFields();
break;
case "LOADMARKIMAGE":
LoadMarkImage(mObj);
mObj.Error="";
break;
case "LOADMARKLIST":
LoadMarkList(mObj);
break;
case "SAVETEMPLATE":
SaveTemplate(x,mObj);
mObj.setfield("STATUS","保存成功!");
mObj.Error="";
break;
case "LOADTEMPLATE":
LoadTemplate(mObj);
break;
}
//LoadTemplate(mObj);
Response.BinaryWrite(mObj.GetObj());
}
catch (Exception xx)
{
string lll=xx.Message;
}
}
/// <summary>
///打开模板
/// </summary>
/// <param name="mClass1"></param>
public void LoadTemplate(OfficeServer mClass1)
{
string mRecordID=mClass1.GetFieldData("TEMPLATE"); //取得文档编号
if (mRecordID.Trim().Length>0)
{
SqlConnection conn=new SqlConnection();
conn.ConnectionString=myConnectionString;
conn.Open();
SqlDataReader sdr;
SqlCommand comm=new SqlCommand("select filebody,filesize from Template where RecordID='" + mRecordID + "'",conn);
//SqlCommand comm=new SqlCommand("select filebody,filesize from Template where TemplateID=105",conn);
sdr=comm.ExecuteReader();
if (sdr.Read())
{
int m=(int)sdr.GetValue(1);
byte[] x=new byte[m];
sdr.GetBytes(0,0,x,0,m);
mClass1.SetObj(x);
}
sdr.Close();
}
}
/// <summary>
/// 保存模板
/// </summary>
/// <param name="x"></param>
/// <param name="mClass1"></param>
public void SaveTemplate(byte[] x, OfficeServer mClass1)
{
string mTemplate=mClass1.GetFieldData("TEMPLATE");
if (mTemplate.Trim().Length<1) return;
SqlConnection Conn = new SqlConnection(myConnectionString);
Conn.Open();
string Sql= "SELECT * FROM Template WHERE RecordID='" + mTemplate + "'";
DataSet ds=new DataSet();
ds=dc.getBinding(Sql,"b");
if (ds.Tables[0].Rows.Count>0)
{
SqlCommand addEmp = new SqlCommand("UPDATE Template set RECORDID=@RECORDID,FileName=@FileName,FileType=@FileType,"+
"FileSize=@FileSize,FileDate=getdate(),FileBody=@FileBody,FilePath=@FilePath,UserName=@UserName,Descript=@Descript where RecordID='" + mTemplate + "' ",Conn);
addEmp.Parameters.Add("@RECORDID",SqlDbType.VarChar, 16).Value = mClass1.GetFieldData("TEMPLATE");
addEmp.Parameters.Add("@FileName",SqlDbType.VarChar, 254).Value = mClass1.GetFieldData("NAME");
addEmp.Parameters.Add("@FileType",SqlDbType.VarChar, 4).Value = mClass1.GetFieldData("TYPE");
addEmp.Parameters.Add("@FileSize",SqlDbType.Int).Value = x.Length;
addEmp.Parameters.Add("@FileBody",SqlDbType.Image, x.Length).Value = x;
addEmp.Parameters.Add("@FilePath",SqlDbType.VarChar, 128).Value =mClass1.GetFieldData("FilePath");
addEmp.Parameters.Add("@UserName",SqlDbType.VarChar,64).Value = mClass1.GetFieldData("UserName");
addEmp.Parameters.Add("@Descript",SqlDbType.VarChar, 255).Value = mClass1.GetFieldData("Descript");
addEmp.ExecuteNonQuery();
}
else
{
try
{
SqlCommand addEmp = new SqlCommand("INSERT INTO Template (RECORDID,FileName,FileType,FileSize,FileDate,FileBody,FilePath,UserName,Descript) " +
"Values(@RECORDID,@FileName,@FileType,@FileSize,getdate(),@FileBody,@FilePath,@UserName,@Descript)", Conn);
addEmp.Parameters.Add("@RECORDID",SqlDbType.VarChar, 16).Value = mClass1.GetFieldData("TEMPLATE");
addEmp.Parameters.Add("@FileName",SqlDbType.VarChar, 254).Value = mClass1.GetFieldData("NAME");
addEmp.Parameters.Add("@FileType",SqlDbType.VarChar, 4).Value = mClass1.GetFieldData("TYPE");
addEmp.Parameters.Add("@FileSize",SqlDbType.Int).Value = x.Length;
addEmp.Parameters.Add("@FileBody",SqlDbType.Image, x.Length).Value = x;
addEmp.Parameters.Add("@FilePath",SqlDbType.VarChar, 128).Value =mClass1.GetFieldData("FilePath");
addEmp.Parameters.Add("@UserName",SqlDbType.VarChar,64).Value = mClass1.GetFieldData("UserName");
addEmp.Parameters.Add("@Descript",SqlDbType.VarChar, 255).Value = mClass1.GetFieldData("Descript");
addEmp.ExecuteNonQuery();
}
catch (Exception u)
{
string l=u.Message;
}
}
Conn.Close();
}
/// <summary>
/// 签名印章列表
/// </summary>
/// <param name="mClass1"></param>
public void LoadMarkList(OfficeServer mClass1)
{
string Sql= "SELECT MarkName FROM Signature where Departmentid="+Session["departmentid"];
DataSet ds=new DataSet();
ds=dc.getBinding(Sql,"c");
mClass1.ClearFields();
string data="";
for (int i=0;i<ds.Tables[0].Rows.Count;i++)
{
data+=ds.Tables[0].Rows[i]["MarkName"].ToString()+"\r\n";
}
mClass1.setfield("MARKLIST",data);
}
/// <summary>
/// 调用签名印章
/// </summary>
/// <param name="mClass1"></param>
public void LoadMarkImage(OfficeServer mClass1)
{
string mMarkName=mClass1.GetFieldData("IMAGENAME"); //'取得文档名
string mPassword=mClass1.GetFieldData("PASSWORD");
string Sql= "SELECT MarkBody,MarkSize,MarkType FROM Signature WHERE MarkName='" + mMarkName + "' and PassWord='" + mPassword + "'"+" and Departmentid="+Session["departmentid"];
SqlConnection conn=new SqlConnection();
conn.ConnectionString=myConnectionString;
conn.Open();
SqlDataReader sdr;
SqlCommand comm=new SqlCommand(Sql ,conn);
sdr=comm.ExecuteReader();
if (sdr.Read())
{
int m=(int)sdr.GetValue(1);
byte[] x=new byte[m];
sdr.GetBytes(0,0,x,0,m);
string type=sdr.GetValue(2).ToString();
mClass1.SetObj(x);
mClass1.setfield("STATUS","打开印章成功!");
mClass1.setfield("IMAGETYPE",type);
}
sdr.Close();
conn.Close();
}
/// <summary>
/// 保存签名印章
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -