public async Task <FileResponseModel> DownloadFile(string fileName) { var response = new FileResponseModel(); var memoryStream = new MemoryStream(); try { await _fileManager.StatObjectAsync(_bucketName, fileName); await _fileManager.GetObjectAsync(_bucketName, fileName, (stream) => { stream.CopyTo(memoryStream); }); memoryStream.Position = 0; } catch { response.IsSuccess = false; response.Message = "Dosya bulunamadi."; } response.ContentType = GetContentType(fileName); response.FileName = fileName; response.MemoryStream = memoryStream; return(response); }
public async Task <FileResponseModel> SavePostContent(string folderName, IFormFile file) { var resourceUrl = $"{httpContextAccessor.HttpContext.Request.Scheme}://{httpContextAccessor.HttpContext.Request.Host}/{ Constant.FILE_PATH}/{folderName}"; var rawPath = Path.Combine(hostingEnvironment.ContentRootPath, Constant.FILE_PATH + "/" + folderName); if (!Directory.Exists(rawPath)) { Directory.CreateDirectory(rawPath); } var newFileName = $"{DateTime.Now.ToString("yyyyMMdd")}_{CommonHelper.NewGuid()}{Path.GetExtension(file.FileName).ToLower()}"; var filePath = Path.Combine(rawPath, newFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) await file.CopyToAsync(fileStream); var url = $"{Constant.FILE_PATH}/{folderName}/{newFileName}"; var response = new FileResponseModel { Url = url, FullUrl = $"{resourceUrl}/{newFileName}", }; return(response); }
public async Task <FileResponseModel> File() { FileResponseModel res = new FileResponseModel(); try { var httpRequest = HttpContext.Current.Request; var type = int.Parse(httpRequest.Form["type"].ToString()); var scoid = httpRequest.Form["coid"]; Guid?coid = null; if (!string.IsNullOrEmpty(scoid)) { coid = Guid.Parse(scoid.ToString()); } foreach (string file in httpRequest.Files) { HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created); var postedFile = httpRequest.Files[file]; if (postedFile != null && postedFile.ContentLength > 1000) { //await _uow.File.UploadImgToS3(postedFile.InputStream, postedFile.FileName, type, coid, CurrentUserId); res = _uow.File.UploadImg(postedFile.InputStream, postedFile.FileName, type, coid, CurrentUserId); res.message = "Upload thành công"; res.code = 200; return(res); } ; } res.code = 0; res.message = "File upload không hợp lệ"; } catch (BusinessException ex) { res.message = ex.Message; } catch (Exception ex) { if (ex.Message.Contains("Maximum request length")) { res.message = "File ảnh của bản dung lượng vượt quá 5mb"; } else { res.message = Core.Entities.Resources.Messages.System_Err; } _log.Error(ex); } return(res); }
public async Task <FileResponseModel> SaveHasThumbnail(string folderName, IFormFile file) { var resourceUrl = $"{httpContextAccessor.HttpContext.Request.Scheme}://{httpContextAccessor.HttpContext.Request.Host}/{ Constant.FILE_PATH}/{folderName}"; var rawPath = Path.Combine(Constant.FILE_PATH, folderName); if (!Directory.Exists(rawPath)) { Directory.CreateDirectory(rawPath); } var newFileName = $"{DateTime.Now.ToString(Constant.FileTime)}{Path.GetExtension(file.FileName).ToLower()}"; var filePath = Path.Combine(rawPath, newFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) await file.CopyToAsync(fileStream); var thumbnailFileName = $"t{newFileName}";; var thumbnailPath = Path.Combine(rawPath, thumbnailFileName); var ms = new MemoryStream(); file.CopyTo(ms); using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write)) { ms.WriteTo(fileStream); fileStream.Close(); { string ImageType = file.FileName.Substring(file.FileName.LastIndexOf('.') + 1).ToLower().Trim(); Image image = Image.FromStream(ms); Image thumb = image.GetThumbnailImage(600, 450, () => false, IntPtr.Zero); thumb.Save(Path.ChangeExtension(thumbnailPath, ImageType)); } ms.Close(); } var response = new FileResponseModel { Url = filePath, FullUrl = $"{resourceUrl}/{newFileName}", ThumbnailUrl = thumbnailPath, ThumbnailFullUrl = $"{resourceUrl}/{thumbnailFileName}" }; return(response); }
public string AddUser(UserModel addUserModel) { try { if (addUserModel != null) { FileManager fileManager = new FileManager(); FileResponseModel fileResponseModel = null; if (addUserModel.File != null) { fileResponseModel = fileManager.SaveFile(addUserModel.File, _rootPath); } List <KeyValuePair <string, object> > param = new List <KeyValuePair <string, object> >() { new KeyValuePair <string, object>("@userName", addUserModel.UserName), new KeyValuePair <string, object>("@roleId", addUserModel.RoleId), new KeyValuePair <string, object>("@firstName", addUserModel.FirstName), new KeyValuePair <string, object>("@lastName", addUserModel.LastName), new KeyValuePair <string, object>("@email", addUserModel.Email), new KeyValuePair <string, object>("@mobile", addUserModel.Mobile), new KeyValuePair <string, object>("@dob", addUserModel.Dob), new KeyValuePair <string, object>("@gender", addUserModel.Gender), new KeyValuePair <string, object>("@createdBy", addUserModel.CreatedBy), new KeyValuePair <string, object>("@photo", fileResponseModel?.FileFullpath ?? string.Empty) }; List <string> tolist = new List <string>() { addUserModel.Email }; return(DataExecutor.ExecuteScalar(UtilityConstant.Procedures.Mst_AddUser, param)); } return(UtilityConstant.UserResponseStatus.NoDataFromClient); } catch (Exception ex) { return(UtilityConstant.UserResponseStatus.Error); } }
public async Task <FileResponseModel> Upload(IFormFile file) { var rawPath = Path.Combine(hostingEnvironment.ContentRootPath, Constant.FILE_PATH); if (!Directory.Exists(rawPath)) { Directory.CreateDirectory(rawPath); } var newFileName = $"{DateTime.Now.ToString("yyyyMMdd")}_{CommonHelper.NewGuid()}{Path.GetExtension(file.FileName).ToLower()}"; var filePath = Path.Combine(rawPath, newFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) await file.CopyToAsync(fileStream); var url = $"{Constant.FILE_PATH}/{newFileName}"; var response = new FileResponseModel { Url = url, FullUrl = ToFullUrl($"/{url}") }; return(response); }
public async Task <IActionResult> UploadSegmentFile() { //==Form file Info == var formFile = Request.Form.Files["file"]; string correlationId = Request.Form["correlationId"]; var total = Convert.ToInt32(Request.Form["totalCount"]); var fileName = Request.Form["fileName"]; var index = Convert.ToInt32(Request.Form["index"]); string scopePath = Request.Form["scopePath"]; string category = Request.Form["category"]; var currentUserId = HttpContext.CurrentUserId(); var fileControlSetting = _commonQueryService.GetFileControl(); var newFileInfos = new List <UploadFileResponseInfo>(); FileResponseModel result = new FileResponseModel(); logger.Info($"Begin to upload file. File count:{total}, current user:{HttpContext.CurrentUserName()}."); #region ==== Validate File Info ===== if (index == 1) { UploadStatus validationResult = UploaderHelper.ValidationUploadFile(formFile.FileName, formFile.OpenReadStream(), fileControlSetting, true); if (validationResult != UploadStatus.ValidateSuccessful) { logger.Warn($"Uploaded file is invalid. File name {formFile.Name}, size:{formFile.Length}, result:{validationResult}."); return(Request.OK(new { msg = I18NEntity.GetString("GC_Common_Uploader_Failed_Message"), status = validationResult })); } } #endregion try { UploadFileRequestInfo info = new UploadFileRequestInfo() { ScopePath = !string.IsNullOrEmpty(scopePath) ? scopePath : ScopePath, Category = !string.IsNullOrEmpty(category) ? category : Category, FileName = fileName, TotalCount = total, CorrelationId = !string.IsNullOrEmpty(correlationId) ? Guid.Parse(correlationId) : Guid.Empty, Index = index }; if (total > 1) { logger.Info($"Uploading Segment file {formFile.Name} to lcms.TotalCount:{info.TotalCount},current index:{info.Index}, CorrelationId:{info.CorrelationId}."); } else { logger.Info($"Uploading file {formFile.Name} to lcms."); } UploadFileResponseInfo o = await _uploaderService.UploadFile(info, new Refit.StreamPart(formFile.OpenReadStream(), formFile.FileName)); result.Info = o; result.FileNumber = index; if (o.IsSucceed) { //total file upload successfully if (o.FileId != Guid.Empty) { logger.Info($"Uploading file {formFile.Name} to lcms succeed. File id:{o.FileId}."); result.MergeResult = true; o.Category = Category; result.ResponseFiles.Add(o); } else { result.MergeResult = false; } } else { logger.Warn($"Uploading file {formFile.Name} to lcms failed. File id:{o.FileId}, message:{o.ErrorMsg}."); result.Msg = o.ErrorMsg; } } catch (TaskCanceledException ex) { logger.Error("Connection timed out and file upload failed. ", ex); return(Request.OK(new { msg = I18NEntity.GetString("GC_Common_Uploader_TimeOut_Message") })); } catch (ValidationException ex) { logger.Error("Validation file upload failed. ", ex); return(Request.OK(new { msg = I18NEntity.GetString("GC_Common_Uploader_Failed_Message"), ex.Status })); } catch (Exception ex) { logger.Error("Upload file to lcms server failed. ", ex); } return(Request.OK(result)); }