예제 #1
0
 public IActionResult SuccessRes(string msg = "")
 {
     apiResult = new LayuiDataModel()
     {
         msg = msg
     };
     return(Json(apiResult));
 }
예제 #2
0
 /// <summary>
 /// 成功返回单个数据object
 /// </summary>
 /// <param name="data"></param>
 /// <param name="msg"></param>
 /// <returns></returns>
 public IActionResult SuccessRes(object data, string msg = "", string code = "")
 {
     apiResult = new LayuiDataModel()
     {
         msg  = msg,
         data = data,
         code = code
     };
     return(Json(apiResult, jsonSerializerSettings));
 }
예제 #3
0
 public IActionResult ErrRes(string msg = "", string code = "")
 {
     apiResult = new LayuiDataModel()
     {
         success = false,
         msg     = msg,
         code    = code
     };
     return(Json(apiResult));
 }
예제 #4
0
 public IActionResult SuccessRes <T>(List <T> data, long count, string msg = "")
 {
     apiResult = new LayuiDataModel()
     {
         data  = data,
         msg   = msg,
         count = count,
     };
     return(Json(apiResult, jsonSerializerSettings));
 }
예제 #5
0
 public IActionResult SuccessRes <T>(List <T> data, string msg = "")
 {
     apiResult = new LayuiDataModel()
     {
         data  = data,
         msg   = msg,
         count = data.LongCount(),
     };
     return(Json(apiResult));
 }
예제 #6
0
        /// <summary>
        /// 普通文件上传,支持多个文件
        /// </summary>
        /// <returns></returns>
        public async Task <IActionResult> ImgUpload()
        {
            Dictionary <string, string> extTable = new Dictionary <string, string>();

            extTable.Add("image", "gif,jpg,jpeg,png,bmp");
            extTable.Add("flash", "swf,flv");
            extTable.Add("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb");
            extTable.Add("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2,apk,ipa,wgt");
            //最大文件大小
            int maxSize = 1024 * 1024 * 10;//10M上传大小限制
            var context = Request.HttpContext;

            //文件类型判断
            string dirName = Request.Query["dir"];

            if (string.IsNullOrEmpty(dirName))
            {
                dirName = "image";
            }
            if (!extTable.ContainsKey(dirName))
            {
                return(ShowError("文件类型不正确。"));
            }

            //保存相对地址构造
            string saveDir    = Request.Query["saveDir"];
            string saveDirStr = null;

            if (saveDir == null)
            {
                saveDirStr = "tmp";
            }
            else
            {
                saveDirStr = saveDir.ToString();
            }
            //相对程序主目录路径
            string savePath = "/upload/cms/" + dirName + "/" + saveDirStr;

            //返回文件集合
            List <string> returnImgs = new List <string>();

            //循环保存文件
            foreach (var imgFile in Request.Form.Files)
            {
                var fileName = imgFile.FileName;
                var fileExt  = Path.GetExtension(fileName).ToLower();

                if (imgFile == null || imgFile.Length > maxSize)
                {
                    return(ShowError("上传文件大小超过限制。"));
                }
                if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(((String)extTable[dirName]).Split(','), fileExt.Substring(1).ToLower()) == -1)
                {
                    return(ShowError("上传文件扩展名是不允许的扩展名。\n只允许" + ((String)extTable[dirName]) + "格式。"));
                }

                //文件保存目录
                string dirPath = _hostingEnvironment.WebRootPath + savePath;
                if (!Directory.Exists(dirPath))
                {
                    Directory.CreateDirectory(dirPath);
                }
                //新文件名称
                var newFileName = DateTime.Now.ToString("_yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + fileExt;
                var filePath    = dirPath + "/" + newFileName;//新文件物理全路径
                using (FileStream fs = System.IO.File.Create(filePath))
                {
                    await imgFile.CopyToAsync(fs);

                    fs.Flush();
                }
                returnImgs.Add(savePath + "/" + newFileName);
            }
            //构造返回数据
            var apiResult = new LayuiDataModel()
            {
                msg     = string.Join(",", returnImgs),
                code    = "0",
                success = true
            };

            if (returnImgs.Count == 0)
            {
                apiResult.success = false;
            }
            return(Json(apiResult));
        }