word excel文件 存入数据库 实战
上传:
private void Insert2017(HttpContext context)
{
if (context.Request.Files["fileword"].ContentLength > 0)
{
if (context.Request["OUId"] != null &&
context.Request["OUName"] != null &&
context.Request["PersonId"] != null &&
context.Request["PersonName"] != null &&
context.Request["DocType"] != null)
{
string OUId = context.Request["OUId"].ToString();
string OUCODE = context.Request["OUCODE"].ToString();
string OUName = context.Request["OUName"].ToString();
string PersonId = context.Request["PersonId"].ToString();
string PersonName = context.Request["PersonName"].ToString();
string DocType = context.Request["DocType"].ToString();
string Remarks = context.Request["Remarks"].ToString();
string FileName = Path.GetFileName(context.Request.Files["fileword"].FileName);
string DownLoadUrl = context.Server.MapPath("~/ProjectMgt/Doc2017") + "\\" + OUName + CheckLoadUrl(DocType) + GetFileName(DocType, OUName, context, true);
string LoadUrl = "";
string flagUrl = context.Server.MapPath("~/ProjectMgt/Doc2017") + "\\" + OUName;
string nameflag = CheckFileName(FileName, DocType, OUName);
if (nameflag == "校验成功")
{
if (Directory.Exists(flagUrl + CheckLoadUrl(DocType)))
{
LoadUrl = context.Server.MapPath("~/ProjectMgt/Doc2017") + "\\" + OUName + CheckLoadUrl(DocType) + FileName;
}
else
{
Directory.CreateDirectory(flagUrl);
Directory.CreateDirectory(flagUrl + "\\常规2017");
LoadUrl = context.Server.MapPath("~/ProjectMgt/Doc2017") + "\\" + OUName + CheckLoadUrl(DocType) + FileName;
}
try
{
//InsertData(OUCODE, OUId, OUName, PersonId, PersonName, FileName, LoadUrl, Remarks, DocType, DownLoadUrl);
var fileinfo = context.Request.Files["fileword"];
Stream inputStream = fileinfo.InputStream;
int contentLength = fileinfo.ContentLength;
byte[] content = new byte[contentLength];
inputStream.Read(content, 0, content.Length);
inputStream.Close();
InsertData(OUCODE, OUId, OUName, PersonId, PersonName, FileName, LoadUrl, Remarks, DocType, DownLoadUrl,contentLength,content);
//context.Response.Write("{success:true, files:'上传成功'}");
if (File.Exists(LoadUrl))
{
File.Delete(LoadUrl);
LoadUrl = context.Server.MapPath("~/ProjectMgt/Doc2017") + "\\" + OUName + CheckLoadUrl(DocType) + GetFileName(DocType, OUName, context, true);
context.Request.Files["fileword"].SaveAs(LoadUrl);
context.Response.Write("{success:true, files:'文件替换成功'}");
}
else
{
LoadUrl = context.Server.MapPath("~/ProjectMgt/Doc2017") + "\\" + OUName + CheckLoadUrl(DocType) + GetFileName(DocType, OUName, context, true);
context.Request.Files["fileword"].SaveAs(LoadUrl);
context.Response.Write("{success:true, files:'上传成功'}");
}
}
finally
{
context.Response.End();
}
}
else
{
context.Response.Write("{success:false, files:'" + nameflag + "'}");
context.Response.End();
}
}
else
{
context.Response.Write("{success:false, files:'上传失败'}");
context.Response.End();
}
}
else
{
context.Response.Write("{success:false, files:'上传失败'}");
context.Response.End();
}
}
private bool InsertData(string oucode, string ouid, string ouname,
string personid, string personname, string filename,
string loadurl, string remarks, string doctype,
string downloadurl,int contentLength, byte[] content)
{
ExtFacade ef = new ExtFacade();
Guid id = Guid.NewGuid();
string OUId = ouid;
string OUCODE = oucode;
string OUName = ouname;
string PersonId = personid;
string PersonName = personname;
string FileName = filename;
string LoadUrl = loadurl;
DateTime SubmitTime = DateTime.Now;
string Remarks = remarks;
string DocType = doctype;
string DownLoadUrl = downloadurl;
byte[] Content = content;
int ContentLength = contentLength;
string DownLoadFileName = downloadurl.Substring(downloadurl.LastIndexOf("\\")+1);
string ContentType = GetContentType(DownLoadFileName);
//string query = @"INSERT INTO tbl_Net_SecurityCheck_2017 (
// id,
// OUID,
// OUName,
// PersonId,
// PersonName,
// FileName,
// LoadUrl,
// SubmitTime,
// Remarks,
// DocType,
// DownloadUrl,
// OUCODE,
// Content,
// ContentLength,
// DownLoadFileName,
// ContentType
// )
// VALUES
// (
// @id,
// @OUId,
// @OUName,
// @PersonId,
// @PersonName,
// @FileName,
// @LoadUrl,
// @SubmitTime,
// @Remarks,
// @DocType,
// @DownLoadUrl,
// @OUCODE,
// @Content,
// @ContentLength,
// @DownLoadFileName,
// @ContentType
// )";
string query = @"INSERT INTO tbl_Net_SecurityCheck_2017 (
id,
OUID,
OUName,
PersonId,
PersonName,
FileName,
LoadUrl,
SubmitTime,
Remarks,
DocType,
DownloadUrl,
OUCODE,
Content,
ContentLength,
DownLoadFileName,
ContentType
)
VALUES
(
@id,
@OUId,
@OUName,
@PersonId,
@PersonName,
@FileName,
@LoadUrl,
@SubmitTime,
@Remarks,
@DocType,
@DownLoadUrl,
@OUCODE,
@Content,
@ContentLength,
@DownLoadFileName,
@ContentType
)";
//ef.ExeBySQLFile();
//ef.ExeBySQLText(query);
using (SqlConnection _Connection = new SqlConnection(AppConfig.ConnectionString))
{
_Connection.Open();
//SqlDALBase dalbase = new SqlDALBase(_Connection, _Connection.BeginTransaction());
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = _Connection;
cmd.CommandText = query;
cmd.Parameters.Clear();
cmd.Parameters.Add(new SqlParameter("@id", id));
cmd.Parameters.Add(new SqlParameter("@OUId", OUId));
cmd.Parameters.Add(new SqlParameter("@OUName", OUName));
cmd.Parameters.Add(new SqlParameter("@PersonId", PersonId));
cmd.Parameters.Add(new SqlParameter("@PersonName", PersonName));
cmd.Parameters.Add(new SqlParameter("@FileName", FileName));
cmd.Parameters.Add(new SqlParameter("@LoadUrl", LoadUrl));
cmd.Parameters.Add(new SqlParameter("@SubmitTime", SubmitTime));
cmd.Parameters.Add(new SqlParameter("@Remarks", Remarks));
cmd.Parameters.Add(new SqlParameter("@DocType", DocType));
cmd.Parameters.Add(new SqlParameter("@DownLoadUrl", DownLoadUrl));
cmd.Parameters.Add(new SqlParameter("@OUCODE", OUCODE));
cmd.Parameters.Add(new SqlParameter("@Content", SqlDbType.Image));
cmd.Parameters.Add(new SqlParameter("@ContentLength", ContentLength));
cmd.Parameters.Add(new SqlParameter("@DownLoadFileName", DownLoadFileName));
cmd.Parameters.Add(new SqlParameter("@ContentType", ContentType));
cmd.Parameters["@Content"].Value = Content;
int i = cmd.ExecuteNonQuery();
//return cmd.ExecuteNonQuery() > 0 ? true : false;
//List<SqlParameter> parameters = new List<SqlParameter>();
//parameters.Add(new SqlParameter("@id", id));
//parameters.Add(new SqlParameter("@OUId", OUId));
//parameters.Add(new SqlParameter("@OUName", OUName));
//parameters.Add(new SqlParameter("@PersonId", PersonId));
//parameters.Add(new SqlParameter("@PersonName", PersonName));
//parameters.Add(new SqlParameter("@FileName", FileName));
//parameters.Add(new SqlParameter("@LoadUrl", LoadUrl));
//parameters.Add(new SqlParameter("@SubmitTime", SubmitTime));
//parameters.Add(new SqlParameter("@Remarks", Remarks));
//parameters.Add(new SqlParameter("@DocType", DocType));
//parameters.Add(new SqlParameter("@DownLoadUrl", DownLoadUrl));
//parameters.Add(new SqlParameter("@OUCODE", OUCODE));
//parameters.Add(new SqlParameter("@Content", SqlDbType.Image));
//parameters.Add(new SqlParameter("@ContentLength", ContentLength));
//parameters.Add(new SqlParameter("@DownLoadFileName", DownLoadFileName));
//parameters.Add(new SqlParameter("@ContentType", ContentType));
//parameters[12].Value = Content;
//_Connection.(query, parameters, CommandType.Text);
}
}
return true;
}
下载:
private void DownLoad2017(HttpContext context)
{
//客户端保存的文件名
if (context.Request["DocType"] != null && context.Request["OUName"] != null)
{
string fileName = GetFileName(context.Request["DocType"].ToString(), context.Request["OUName"].ToString(), context, false);
string filePath = context.Request["DownLoadUrl"].ToString();//路径
string fileId = context.Request["FileId"].ToString();//路径
//以字符流的形式下载文件
if (!string.IsNullOrEmpty(filePath))
{
try
{
//FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = GetContent(fileId);
context.Response.ContentType = "application/octet-stream";
//通知浏览器下载文件而不是打开
context.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
context.Response.BinaryWrite(bytes);
context.Response.Flush();
context.Response.End();
}
catch
{
}
}
}
else {
}
}
private byte[] GetContent(string fileId)
{
ExtFacade ef = new ExtFacade();
string query = string.Format(@"SELECT Content from tbl_Net_SecurityCheck_2017 where id='{0}'", fileId);
var content = ef.ExecuteScalarBySQLText(query);
if (content == null)
{
return new byte[0];
}
else
{
return (byte[])content;
}
}

浙公网安备 33010602011771号