public IActionResult UploadImage([FromForm] IFormFile file, [FromForm] Guid userId, [FromForm] string type) { IEnumerable <string> errors = CheckFileUploadRequestForErrors(file, userId, type); if (errors.Any()) { return(new JsonResult(new { success = false, errors = errors })); } FtpUploadRequest <byte[]> request = new FtpUploadRequest <byte[]>() { FileContent = ReadFileStreamForFileContent(file.OpenReadStream()), FileName = GetFileNameFromUserAndDateForUploadedImage(userId), Folder = ImageTypeFolderResolver[type], FileExtension = "jpg", FtpInfo = AppConfig.GetFtpConnectionInformation() }; FtpUploadResponse response = null; try { response = FtpUploaderLogic.UploadImage(request); return(new JsonResult(new { success = true, fileName = response.FileName })); } catch (Exception e) { return(new JsonResult(new { success = false, errors = new string[] { "lazy error text" } })); } }
public FtpUploadResponse UploadImage(FtpUploadRequest <byte[]> request) { string resultFileName = request.FileName + "." + request.FileExtension; string uri = $"ftp://{request.FtpInfo.Host}:{request.FtpInfo.Port}/"; if (string.IsNullOrWhiteSpace(request.Folder)) { uri += resultFileName; } else { uri += $"{request.Folder}/{resultFileName}"; } base.UploadImage(request.FileContent, uri); return(new FtpUploadResponse() { FileName = resultFileName }); }
public FtpUploadResponse UploadText(FtpUploadRequest <string> request) { throw new System.NotImplementedException(); }