Beispiel #1
0
        public ActionResult <string> UPTX(string strUserName)
        {
            Result result = new Result();

            result.avatarUrls = new ArrayList();
            result.success    = false;
            result.msg        = "Failure!";
            var files = Request.Form.Files;
            //取服务器时间+8位随机码作为部分文件名,确保文件名无重复。
            string fileName     = DateTime.Now.ToString("yyyyMMddhhmmssff") + UploadHelp.CreateRandomCode(8);
            int    avatarNumber = 1;

            foreach (var file in files)
            {
                string fieldName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');
                string filePath  = hostingEnv.WebRootPath;
                if (!Directory.Exists(filePath + $@"\upload\tx\"))
                {
                    Directory.CreateDirectory(filePath);
                }
                if (fieldName == "__source")
                {
                    result.sourceUrl = string.Format("/upload/tx/tx{0}.jpg", fileName);
                    string fileFullName = filePath + result.sourceUrl;
                    using (FileStream fs = System.IO.File.Create(fileFullName))
                    {
                        file.CopyTo(fs);
                        fs.Flush();
                    }
                }
                //头像图片(file 域的名称:__avatar1,2,3...)。
                else
                {
                    string virtualPath = string.Format("/upload/tx/{0}_{1}.jpg", avatarNumber, strUserName);
                    result.avatarUrls.Add(virtualPath);
                    string fileFullName = filePath + virtualPath;
                    using (FileStream fs = System.IO.File.Create(fileFullName))
                    {
                        file.CopyTo(fs);
                        fs.Flush();
                    }
                    avatarNumber++;
                }
            }


            result.success = true;
            result.msg     = "Success!";
            //返回图片的保存结果(返回内容为json字符串,可自行构造,该处使用Newtonsoft.Json构造)
            //  Response.Write(JsonConvert.SerializeObject(result));
            return(Ok(result));
        }
Beispiel #2
0
        public ActionResult <string> UPPIC()
        {
            var  files = Request.Form.Files;
            long size  = files.Sum(f => f.Length);

            if (size > 104857600)
            {
                ReturnModel.ErrorMsg = "大小不能超过100M";
            }

            List <string> filePathResultList = new List <string>();

            foreach (var file in files)
            {
                var    fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');
                string filePath = hostingEnv.WebRootPath + $@"\upload\pic\";
                if (!Directory.Exists(filePath))
                {
                    Directory.CreateDirectory(filePath);
                }
                string suffix = fileName.Split('.')[1];

                if (UploadHelp.GetFileType(suffix) != "pic")
                {
                    ReturnModel.ErrorMsg = "只能上传图片格式";
                }
                fileName = Guid.NewGuid() + "." + suffix;
                string fileFullName = filePath + fileName;
                using (FileStream fs = System.IO.File.Create(fileFullName))
                {
                    file.CopyTo(fs);
                    fs.Flush();
                }
                filePathResultList.Add("/upload/pic/" + fileName);
            }
            ReturnModel.Result = filePathResultList;
            //返回图片的保存结果(返回内容为json字符串,可自行构造,该处使用Newtonsoft.Json构造)
            //  Response.Write(JsonConvert.SerializeObject(result));
            return(Ok(ReturnModel));
        }