Beispiel #1
0
        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();
 }