示例#1
0
        public static void SaveFor <T, Y>(this T obj, Expression <Func <T, Y> > expression, string folder = "/Content/Upload")
        {
            string         name     = expression.GetPropertyName();
            HttpPostedFile fileBase = HttpContext.Current.Request.Files[name];
            var            s        = fileBase.Save();

            if (s != null)
            {
                obj.GetType().GetProperties().FirstOrDefault(q => q.Name == name)?.SetValue(obj, s);
            }
        }
示例#2
0
        public static void SaveFor <T, Y>(this T obj, Expression <Func <T, Y> > expression, string folder = "/Content/Upload")
        {
            string         name     = expression.GetPropertyName();
            HttpPostedFile fileBase = HttpContext.Current.Request.Files[name];
            var            s        = fileBase.Save();

            if (s != null)
            {
                var    property = obj.GetType().GetProperties().FirstOrDefault(q => q.Name == name);
                string old      = HttpContext.Current.Server.MapPath(property?.GetValue(obj) + "");
                if (File.Exists(old))
                {
                    File.Delete(old);
                }
                property?.SetValue(obj, s);
            }
        }