public ResultEntity <ResponseRes> RequireRes(RequireRes query) { ResultEntity <ResponseRes> result = new ResultEntity <ResponseRes>(); try { query.requireUserId = this.getUserId(); EResourceInfo resourceInfo = _resourceServices.get(query.resCode); if (resourceInfo == null) { result.ErrorMsg = "资源已被删除,请刷新页面"; return(result); } if (query.resType == ResType.BookOss) { result.Entity = _resourceServices.requireResOss(resourceInfo.OssPath); } else { result.Entity = new ResponseRes { downloadUrl = resourceInfo.Url, }; } _resourceServices.logRequireRes(query.resCode, query.requireUserId); } catch (Exception ex) { result.ErrorMsg = ex.Message; } return(result); }
private EResourceInfo GenerateResource(UploadRes uploadRes) { uploadRes.owner = this.getUserId(); EResourceInfo resourceInfo = new EResourceInfo { Owner = uploadRes.owner, RefCode = uploadRes.refCode, Remark = uploadRes.remark, ResType = uploadRes.resType, Url = uploadRes.outerUrl, FileType = uploadRes.fileType, }; if (uploadRes.isReset) { resourceInfo.Code = uploadRes.resCode; } else { resourceInfo.Code = CodeManager.ResCode( resourceInfo.FileType, (int)resourceInfo.ResType, resourceInfo.RefCode, resourceInfo.Owner); } return(resourceInfo); }
public ResultEntity <EResourceInfo> Upload([FromForm] IFormFile file)//, { ResultEntity <EResourceInfo> result = new ResultEntity <EResourceInfo>(); EResourceInfo origRes = null; string filePath = _webHostEnvironment.ContentRootPath + _configuration["BookSiteConfig:uploadTemp"] + file.FileName; try { if (file != null) { var uploadRes = this.RequestToUploadRes(); var verifyMsg = VerifyUpload(uploadRes); if (verifyMsg != null) { result.ErrorMsg = verifyMsg; return(result); } //写入到磁盘 using (FileStream fs = System.IO.File.Create(filePath)){ file.CopyTo(fs); //将上传的文件文件流,复制到fs中 fs.Flush(); //清空文件流 } //上传到Oss var ossKey = OssKeyManager.BookKey(filePath, uploadRes.refCode, getUserId()); //如果是重新提交,则需要删除Oss资源 if (uploadRes.isReset) { origRes = _resourceServices.get(uploadRes.resCode); if (origRes.OssPath != ossKey) { _resourceServices.ossDelete(origRes.OssPath); } } var uploadResult = _resourceServices.uploadToOss(filePath, ossKey); if (uploadResult.IsSuccess) { var resourceInfo = GenerateResource(uploadRes, ossKey); resourceInfo.OrigFileName = file.FileName; //上传信息写入到数据库 result = _resourceServices.saveResToDb(resourceInfo); } else { result.ErrorMsg = "上传失败"; } } } catch (Exception ex) { result.ErrorMsg = "上传失败"; NLogUtil.cc_ErrorTxt("BookController-Upload:" + ex.Message); } finally { if (System.IO.File.Exists(filePath)) { System.IO.File.Delete(filePath); } } return(result); }