欢迎访问张朋的技术分享社区
当前位置: 首页 > 技术分享  > NET.Core

小程序上传附件接口

2018/11/8 10:20:17 人评论

private IHostingEnvironment host = null; public CommonController(IHostingEnvironment host) { this.host = host; } /// <summary> /// 附件上传 一般存储在wwwroot /// </summary> /// <…

        private IHostingEnvironment host = null;

        public CommonController(IHostingEnvironment host)

        {

            this.host = host;

        }

       /// <summary>

        /// 附件上传 一般存储在wwwroot

        /// </summary>

        /// <returns></returns>

        [HttpPost, Route("upload")]

        public object UpLoadAll()

        {

            Guid fileGuid = Guid.NewGuid();//生成新的文件名称 以GUID命名防止文件名相同

            string NewFileName = fileGuid.ToString();//新的文件名 

            try

            {

                var file = Request.Form.Files["content"]; //对应小程序 name

                string fileName = Path.GetFileName(file.FileName);//得到上传文件的完整名称 即文件名+后缀名

                string FileType = Path.GetExtension(fileName);

                //得到保存文件的完整路径

                String fileTime = DateTime.Now.ToString("yyyyMMdd");

                try

                {

                    string directoryPath = host.WebRootPath + "/upload/api/" + fileTime;

                    if (!Directory.Exists(directoryPath))//不存在这个文件夹就创建这个文件夹 

                    {

                        Directory.CreateDirectory(directoryPath);

                    }

                    using (FileStream fs = System.IO.File.Create(directoryPath + "/" + NewFileName + FileType))

                    {

                        file.CopyTo(fs);

                        fs.Flush();

                    }

                }

                catch (Exception ex)

                {

                    return ResponseInfo.ResponseError(-1, "上传附件失败!", ex.ToString());

                }

                NewFileName = "/upload/api/" + fileTime + "/" + NewFileName + FileType;

                return ResponseInfo.ResponseSucess(0, "上传附件成功!", NewFileName);

            }

            catch (Exception ex)

            {

                return ResponseInfo.ResponseError(-1, "上传附件失败!", ex.ToString());

            }

        }


附件下载

相关技术

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?