Ejemplo n.º 1
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            if (FileUpload.File != null)
            {
                var config = new PiwigoConfiguration
                {
                    BaseURL = ""
                };
                HttpClient client = new HttpClient {
                    BaseAddress = new Uri(config.WSURL)
                };
                var session = new Session(client);
                var images  = new Images(client);
                _ = await ImageUploaderHelper.UploadImage(FileUpload.File, FileUpload.Id, images, session, config).ConfigureAwait(false);
            }

            return(Page());
        }
Ejemplo n.º 2
0
        public static async Task <string> UploadImage(IFormFile file, string id, IPWGImages images, IPWGSession session, PiwigoConfiguration piwigoConfiguration)
        {
            if (file is null)
            {
                throw new ArgumentNullException(nameof(file));
            }

            if (string.IsNullOrWhiteSpace(id))
            {
                throw new ArgumentException("message", nameof(id));
            }

            if (images is null)
            {
                throw new ArgumentNullException(nameof(images));
            }

            if (session is null)
            {
                throw new ArgumentNullException(nameof(session));
            }

            if (piwigoConfiguration is null)
            {
                throw new ArgumentNullException(nameof(piwigoConfiguration));
            }

            var status = await session.GetStatus().ConfigureAwait(false);

            string result;

            if (!status.Contains(piwigoConfiguration.UserName, StringComparison.InvariantCulture))
            {
                result = await session.LogIn(piwigoConfiguration.UserName, piwigoConfiguration.Password).ConfigureAwait(false);
            }
            else
            {
                result = status;
            }

            if (result.Contains("ok", StringComparison.InvariantCulture))
            {
                return(await images.AddSimple(file, id).ConfigureAwait(false));
            }

            return(null);
        }