.Net Core上传文件到服务器

 /// <summary>
        /// 上传文件
        /// </summary>
        /// <returns></returns>
        [HttpPost("upload")]
        [RequestSizeLimit(Int64.MaxValue)]
        public Resp<string> UploadFile([FromForm]IFormCollection collection)
        {
            string result = "";
            string webRootPath = _hostingEnvironment.WebRootPath;
            string contentRootPath = _hostingEnvironment.ContentRootPath;

            FormFileCollection filelist = (FormFileCollection)collection.Files;
            string firstName = "";
            foreach (IFormFile file in filelist)
            {
                String Tpath = "/file/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
                string name = file.FileName;
                string FileName = DateTime.Now.ToString("yyyyMMddHHmmssfff");
                string FilePath = webRootPath + Tpath;
               
                string type = System.IO.Path.GetExtension(name);
                DirectoryInfo di = new DirectoryInfo(FilePath);

                firstName = Tpath + FileName + type;
                if (!di.Exists)
                {
                    di.Create();
                }

                using (FileStream fs = System.IO.File.Create(FilePath + FileName + type))
                {
                    // 复制文件
                    file.CopyTo(fs);
                    // 清空缓冲区数据
                    fs.Flush();
                }

                result = "1";
            }

            Resp<string> resp = new Resp<string>();
            resp.data = firstName;

            return resp;

 

posted @ 2019-05-16 23:20  天府三街第二帅  阅读(840)  评论(1编辑  收藏  举报