예제 #1
0
        public async Task <IActionResult> Post(IFormFile files, Movie movie)
        {
            string downloadLink;

            if (ModelState.IsValid)
            {
                var filePath = Path.GetTempFileName();
                var dir      = Directory.GetCurrentDirectory();
                var path     = Path.Combine(dir, files.FileName);

                using (var stream = new FileStream(filePath, FileMode.Open))
                {
                    var storage = StorageClient.Create();
                    objectName = objectName ?? Path.GetFileName(path);
                    var obj = storage.UploadObject(_bucketName, objectName, null, stream);
                    downloadLink = obj.MediaLink;
                    Console.WriteLine($"Uploaded {objectName}.");
                }

                movie.FileUrl = downloadLink;

                _store.Create(movie);
            }
            return(RedirectToAction("Index"));
        }
예제 #2
0
        public async Task <ActionResult> Create(Movie movie, IFormFile image)
        {
            if (ModelState.IsValid)
            {
                _store.Create(movie);
                // If book cover image submitted, save image to Cloud Storage
                if (image != null)
                {
                    var imageUrl = await _imageUploader.UploadImage(image, movie.Id);

                    movie.ImageUrl = imageUrl;
                    _store.Update(movie);
                }
                return(RedirectToAction("Details", new { id = movie.Id }));
            }
            return(ViewForm("Create", "Create", movie));
        }