<%@ 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 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/img"; filePath = HttpContext.Current.Server.MapPath(filePath); string ProjectId = HttpContext.Current.Request["ProjectId"]; string result = ""; if(ProjectId == "null" || ProjectId == "" || ProjectId == "undefined") { result = "[{ \"result\":\"0\"}]"; context.Response.Write(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 合同信息管理_履约保证金_履约保函 values(" + ProjectId + ",'" + uid + '.' + suffix + "','" + '1' + "')"; isOK = DataLinkMesWork.DataLink.ExecuteNonQuery(sql); //--业务代码 1: //-- 1 :发货管理_附件 //-- 2 :合同信息管理_履约保证金_履约保函 //-- 3 :合同管理_文件路径 //-- 4 :PDM_机床总图_文件列表 //-- 5 :采购管理_采购发票_附件 //-- 6 :车间采购管理_发票结算申请单 //-- 7 :设备管理_设备监控_图片 //-- 8 :车间生产管理_质检管理 //-- 9 :人员管理_图片 //--10 tableName 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("@业务代码", 2); 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); DataLinkMesWork.DataLink.ExecuteStoredProcedure_Bakup(procedureName, ref thisParms, out errorMessage); } } catch { } } else { context.Response.Write(result); } } } } catch (Exception ex) { result = "[{ \"result\":\"0\"}]"; } context.Response.Write(result); } public bool IsReusable { get { return false; } } }