Esempio n. 1
0
        public async Task <ImageUploadResponse> AddAsset(ImageUploadInput arg)
        {
            ImageUploadResponse imageResponse = new ImageUploadResponse();

            try
            {
                using (var uploadStream = arg.Upload.OpenReadStream())
                {
                    fileVerifier.Validate(uploadStream, arg.Upload.FileName, arg.Upload.ContentType);
                    string autoFileFolder = "AutoUploads";
                    var    autoFileFile   = Guid.NewGuid().ToString() + Path.GetExtension(arg.Upload.FileName);
                    var    autoPath       = Path.Combine(autoFileFolder, autoFileFile);
                    using (Stream stream = fileFinder.WriteFile(autoPath))
                    {
                        await uploadStream.CopyToAsync(stream);
                    }

                    imageResponse.Uploaded = 1;
                    imageResponse.FileName = autoFileFile;
                    imageResponse.Url      = pathBase + autoPath.EnsureStartingPathSlash();
                }
            }
            catch (Exception ex)
            {
                imageResponse.Message  = ex.Message;
                imageResponse.Uploaded = 0;
            }

            return(imageResponse);
        }
Esempio n. 2
0
        public async Task <ImageUploadResponse> CreateImage(string base64)
        {
            // Upload image to Cloudinary
            ImageUploadResponse imageUploadResponse = await CloudinaryService.Instance.UploadImage(base64);

            if (imageUploadResponse == null)
            {
                return(null);
            }

            // Insert image response to DB
            var insertedDataDB = Dal.Instance.InsertImage(
                imageUploadResponse.ImageId,
                imageUploadResponse.Uri,
                imageUploadResponse.Height,
                imageUploadResponse.Width,
                imageUploadResponse.Format,
                imageUploadResponse.CreatedAt
                );

            if (insertedDataDB == null)
            {
                return(null);
            }

            return(imageUploadResponse);
        }
Esempio n. 3
0
        internal object AddProfileImage(ProfileImageModel model)
        {
            try
            {
                User user = _dbContext.Users.Find(model.UserId);
                if (user != null)
                {
                    user.UserImage = ParseImage(model.userImage);
                    _dbContext.Entry(user).State = EntityState.Modified;
                    _dbContext.SaveChanges();

                    ImageUploadResponse imageResponse = new ImageUploadResponse
                    {
                        Success  = true,
                        ImageUrl = user.UserImage
                    };
                    return(imageResponse);
                }
                else
                {
                    ImageUploadResponse imageResponse = new ImageUploadResponse
                    {
                        Success  = false,
                        ImageUrl = null
                    };
                    return(imageResponse);
                }
            }
            catch (Exception ex)
            {
                return("{success:" + ex.Message + "}");
            }
        }
        public async Task <ImageUploadResponse> UploadImage(string userId, IFormFile imageFile)
        {
            var blobServiceClient   = GetBlobServiceClient();
            var blobContainerClient = blobServiceClient.GetBlobContainerClient(userId);

            string[] fileNameSeparated = imageFile.FileName.Split('.');
            string   uniqueIdentifier  = Guid.NewGuid().ToString();
            string   uniqueFileName    = $"{uniqueIdentifier}.{fileNameSeparated[1]}";

            var imageUploadResponse = new ImageUploadResponse()
            {
                ImageFileName = uniqueFileName,
                ImageUrl      = $"{_storageSettings.BaseUrl}{userId}/{uniqueFileName}"
            };

            var blobClient = blobContainerClient.GetBlobClient(uniqueFileName);
            await blobClient.UploadAsync(imageFile.OpenReadStream(), true);

            return(imageUploadResponse);
        }
        public async Task <IActionResult> upload([FromBody] ImageUploadRequest request)
        {
            ImageUploadResponse cr = new ImageUploadResponse();

            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(Commons.Helpers.Utility.GetResponse(ModelState)));
                }

                _logger.LogInformation($"request ID:{request.requestId} {Environment.NewLine} User ID:{request.userName}");

                cr = await _orclRepo.UploadImage(request);
            }
            catch (Exception ex)
            {
                _logger.LogError($"request ID:{request.requestId} User ID:{request.userName}:- {Environment.NewLine} {ex.ToString()}");
                return(StatusCode((int)HttpStatusCode.InternalServerError, Commons.Helpers.Utility.GetResponse(ex)));
            }

            return(CreatedAtAction("upload", cr));
        }