<%@ WebHandler Language="C#" Class="UploadHandler" %>

using System;
using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Linq;
//using BizDataAccess;
using System.IO;
using System.Net;
using System.Web.Services;
using System.Text;
using System.Data.SqlClient;

using DataLinkMesWork;

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/file";
        filePath = HttpContext.Current.Server.MapPath(filePath);

        string Num = HttpContext.Current.Request["num"];

        string result = "";

        bool isOK1;
        try
        {
            Guid guid = Guid.NewGuid();
            string uid = guid.ToString().Replace("-", "").ToUpper();
            HttpFileCollection files = context.Request.Files;
            HttpPostedFile hpFile = files[0];
            string fileName = System.IO.Path.GetFileName(hpFile.FileName);
            string suffix = fileName.Split(new Char[] { '.' })[1];
            string Name = fileName.Split(new Char[] { '.' })[0];
            string sql2 = "insert into 设备管理_设备监控_图片 values('" + Num + "','" + uid + "','" + Name + "','" + suffix + "'," + '1' + ")";
            isOK1 = SQLCommon.ExecuteNonQuery(sql2, connectionString, out result);



            if (isOK1)
            {
                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("@业务代码", 7);
                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);


                //--业务代码  1：
                //-- 1 ：发货管理_附件
                //-- 2 ：合同信息管理_履约保证金_履约保函
                //-- 3 ：合同管理_文件路径
                //-- 4 ：PDM_机床总图_文件列表
                //-- 5 ：采购管理_采购发票_附件
                //-- 6 ：车间采购管理_发票结算申请单
                //-- 7 ：设备管理_设备监控_图片
                //-- 8 ：车间生产管理_质检管理
                //-- 9 ：人员管理_图片
                //--10  tableName

                if(DataLinkMesWork.DataLink.isBakup=="1")
                {
                    DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName, ref thisParms, out errorMessage);

                    DataLinkMesWork.DataLink.ExecuteNonQuery_Bakup(sql2);
                }
            }
            catch
            {

            }

        }
        catch (Exception ex)
        {
            result = "[{ \"result\":\"0\"}]";
        }
        context.Response.Write(result);
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}
