104 lines
4.1 KiB
Plaintext
104 lines
4.1 KiB
Plaintext
<%@ WebHandler Language="C#" Class="UploadHandler" %>
|
|
|
|
using System;
|
|
using System.Web;
|
|
using System.Data;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.IO;
|
|
using System.Net;
|
|
using System.Web.Services;
|
|
using System.Text;
|
|
using DataLinkMesWork;
|
|
using System.Data.SqlClient;
|
|
|
|
public class UploadHandler : IHttpHandler
|
|
{
|
|
private static string connectionString = System.Configuration.ConfigurationManager.AppSettings.GetValues("ConnectionString")[0].ToString();
|
|
|
|
public void ProcessRequest(HttpContext context)
|
|
{
|
|
context.Response.ContentType = "text/plain";
|
|
string filePath = "../webpage/part";
|
|
filePath = HttpContext.Current.Server.MapPath(filePath);
|
|
string num = HttpContext.Current.Request["num"];
|
|
string tableName = HttpContext.Current.Request["tableName"];
|
|
string result = "";
|
|
bool isOK;
|
|
try
|
|
{
|
|
Guid guid = Guid.NewGuid();
|
|
string uid = guid.ToString().Replace("-", "").ToUpper();
|
|
HttpFileCollection files = context.Request.Files;
|
|
if (files.Count > 0)
|
|
{
|
|
for (int i = 0; i < files.Count; i++)
|
|
{
|
|
HttpPostedFile hpFile = files[0];
|
|
if (hpFile.ContentLength > 0)
|
|
{
|
|
string fileName = System.IO.Path.GetFileName(hpFile.FileName);
|
|
string suffix = fileName.Split(new Char[] { '.' })[1];
|
|
string name = fileName.Split(new Char[] { '.' })[0];
|
|
string sql = "insert into " + tableName + " (num, uid, name, suffix, 是否启用) values(" + num + ",'" + uid + "','" + name + "','" + suffix + "'," + '1' + ")";
|
|
isOK = DataLinkMesWork.DataLink.ExecuteNonQuery(sql);
|
|
//isOK = SQLCommon.ExecuteNonQuery(sql, connectionString, out result);
|
|
if (isOK)
|
|
{
|
|
filePath = filePath + "/" + uid + "." + suffix;
|
|
hpFile.SaveAs(filePath);
|
|
result = "[{ \"result\":\"1\"}]";
|
|
}
|
|
else
|
|
{
|
|
result = "[{ \"result\":\"0\"}]";
|
|
}
|
|
|
|
try
|
|
{
|
|
//增加文件保存到数据库的功能
|
|
byte[]bytes = new byte[files[0].InputStream.Length];
|
|
files[0].InputStream.Read(bytes, 0, bytes.Length);
|
|
string procedureName = "_文件存储_高精_增加";
|
|
string errorMessage;
|
|
SqlParameter []thisParms = new SqlParameter[5];
|
|
thisParms[0] = new SqlParameter("@业务代码", 10);
|
|
thisParms[1] = new SqlParameter("@文件标识", uid);
|
|
thisParms[2] = new SqlParameter("@文件名称", name);
|
|
thisParms[3] = new SqlParameter("@文件后缀", suffix);
|
|
thisParms[4] = new SqlParameter("@文件内容", bytes);
|
|
DataLinkMesWork.DataLink.ExecuteStoredProcedure(procedureName, ref thisParms, out errorMessage);
|
|
|
|
if(DataLinkMesWork.DataLink.isBakup=="1")
|
|
{
|
|
DataLinkMesWork.DataLink.ExecuteNonQuery_Bakup(sql);
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
context.Response.Write(result);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
result = "[{ \"result\":\"0\"}]";
|
|
}
|
|
context.Response.Write(result);
|
|
}
|
|
|
|
public bool IsReusable
|
|
{
|
|
get
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|