示例#1
0
        public async Task <ResponseResult> uploadCompanyInfoFile()
        {
            FileUploadsInfoDto dto = new FileUploadsInfoDto();

            dto.Id   = Request.Form["Id"];
            dto.File = Request.Form.Files.FirstOrDefault();
            return(await this.companyInfoServices.uploadCompanyInfoFile(dto));
        }
示例#2
0
        /// <summary>
        /// 上传公司附件
        /// </summary>
        /// <param name="file">文件</param>
        /// <returns></returns>
        public async Task <ResponseResult> uploadCompanyInfoFile(FileUploadsInfoDto dto)
        {
            var result = new ResponseResult(0, "上传成功");
            var file   = dto.File;
            var Id     = dto.Id;

            try
            {
                if (file != null)
                {
                    var typeList      = ".jpg,.jpeg,.png,.gif,.pdf,.JPG,.JPEG,.PBG,.GIF,.PDF";
                    var fileNameSplit = file.FileName.Split(".");
                    var fileForm      = fileNameSplit[fileNameSplit.Length - 1];
                    if (typeList.IndexOf(fileForm) != -1)
                    {
                        string dirName  = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString();
                        var    path     = Directory.GetCurrentDirectory();
                        string dirPath  = "/FileUpload/CompanyInfo/" + dto.Id + "/" + dirName;
                        var    fullPath = path + "/wwwroot" + dirPath;
                        //文件名称
                        string projectFileName = file.FileName;
                        //判断是否上传同名文件
                        Expression <Func <FileUploadsInfo, bool> > filter = p => true;
                        filter = filter.And(p => !p.IsDeleted && p.FilePath == (dirPath + "/" + projectFileName));
                        var fileUploadsInfo = this.fileUploadsInfoRepository.GetAllListAsync(filter);
                        if (fileUploadsInfo.Result.Count > 0)
                        {
                            result.Code    = -1;
                            result.Message = projectFileName + "重复上传";
                            return(result);
                        }
                        else
                        {
                            if (!Directory.Exists(fullPath))
                            {
                                Directory.CreateDirectory(fullPath);
                            }
                            //上传的文件的路径
                            string filePath = fullPath + $@"\{projectFileName}";
                            using (FileStream fs = System.IO.File.Create(filePath))
                            {
                                file.CopyTo(fs);
                                fs.Flush();
                            }
                            var worker   = new IdWorker(1, 1);
                            var fileInfo = new FileUploadsInfo();
                            fileInfo.Id           = worker.NextId();
                            fileInfo.FileType     = "CompanyInfo";
                            fileInfo.FilePath     = dirPath + "/" + projectFileName;
                            fileInfo.CreationTime = DateTime.Now;
                            fileInfo.FileForm     = fileForm;
                            fileInfo.FileName     = projectFileName;
                            fileInfo.CompanyId    = Convert.ToInt64(Id);
                            await this.fileUploadsInfoRepository.InsertAsync(fileInfo);

                            this.fileUploadsInfoRepository.SaveChanged();
                            return(result);
                        }
                    }
                    else
                    {
                        result.Code    = -1;
                        result.Message = "文件格式不正确,上传失败";
                    }
                }
            }
            catch (Exception ex)
            {
                result.Code    = -1;
                result.Message = ex.Message;
                LogLock.WriteLine("SystemLog", new[] { ex.ToString() });
            }
            return(result);
        }