Ejemplo n.º 1
0
        private void UpLoadOrderFile(HttpContext context)
        {
            Model.sysconfig sysConfig = new BLL.sysconfig().loadConfig();
            //检查是否允许匿名上传
            if (!new ManagePage().IsAdminLogin())
            {
                context.Response.Write("{\"status\": 0, \"msg\": \"禁止匿名非法上传!\"}");
                return;
            }
            string fileName = DTRequest.GetString("name");                                       //文件名
            string oID      = DTRequest.GetQueryString("oID");;                                  //订单号
            string ftype    = DTRequest.GetQueryString("ftype");;                                //文件类别

            byte[] byteData = FileHelper.ConvertStreamToByteBuffer(context.Request.InputStream); //获取文件流

            if (byteData.Length == 0)
            {
                context.Response.Write("{\"status\": 0, \"msg\": \"请选择要上传文件!\"}");
                return;
            }
            UpLoad upLoad = new UpLoad();

            fileName = fileName.Replace(" ", "");//去掉空格
            string msg = upLoad.OrderFileSaveAs(byteData, fileName, oID, ftype);

            msg = Regex.Replace(msg, @"(\\[^bfrnt\\/'\""])", "\\$1");//利用正则表达式先把待解析的字符串中的带“\”特殊字符处理,再进行解析操作
            JObject jo = JObject.Parse(msg);

            if (jo["status"].ToString() == "1")
            {
                Model.manager manager = new ManagePage().GetAdminInfo();//获得当前登录管理员信息
                Model.Files   file    = new Model.Files();
                file.f_oid       = oID;
                file.f_type      = Utils.ObjToByte(ftype);
                file.f_fileName  = fileName;
                file.f_filePath  = jo["path"].ToString();
                file.f_size      = Utils.ObjToDecimal(jo["size"].ToString(), 0);
                file.f_addDate   = DateTime.Now;
                file.f_addName   = manager.real_name;
                file.f_addPerson = manager.user_name;
                new BLL.Order().insertOrderFile(file, manager);
            }
            //返回成功信息
            context.Response.Write(msg);
            context.Response.End();
        }