//public IActionResult Create(CreateViewModel model) public async Task <IActionResult> Create(IFormFile files, CreateViewModel model) //======================================================================= //--- azurowe rozwiazanie --- { string blobstorageconnection = _configuration.GetValue <string>("blobstorage"); byte[] dataFiles; // Pobiera konto magazynu z parametrów połączenia = UseDevelopmentStorage=true; //CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(blobstorageconnection); // --- tworzenie blob client //CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient(); // --- pobiera odwołanie do kontenera //CloudBlobContainer cloudBlobContainer = cloudBlobClient.GetContainerReference("filescontainers"); // --- tworzy kontener jezeli nie istnieje //if (await cloudBlobContainer.CreateIfNotExistsAsync()) //{ // await cloudBlobContainer.SetPermissionsAsync(new BlobContainerPermissions // { // PublicAccess = BlobContainerPublicAccessType.Blob // }); //} //BlobContainerPermissions permissions = new BlobContainerPermissions //{ // PublicAccess = BlobContainerPublicAccessType.Blob //}; string nazwa_bloaba; //dorobilem1 if (files != null) { string systemFileName = files.FileName; await using (var target = new MemoryStream()) { files.CopyTo(target); dataFiles = target.ToArray(); // files.FileName } nazwa_bloaba = files.FileName.ToString(); // dorobilem1 } // To również nie powoduje wezwania serwisu; tworzy tylko obiekt lokalny //CloudBlockBlob cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(systemFileName); //await cloudBlockBlob.UploadFromByteArrayAsync(dataFiles, 0, dataFiles.Length); //systemFileName. //nazwa_bloaba1 = cloudBlockBlob.Uri.ToString(); //nazwa_bloaba = files.Name.ToString(); // dorobilem1 //return View(); //--- z HomeControler --- //========================================================================= //{ if (ModelState.IsValid) { string uniqueFileName = ProcessUploadedFile(model); // to przerobic na link uri blob.Uri Book newBook = new Book { Title = model.Title, Date = model.Date, ItemType = model.ItemType, // do cover podac link uri blob.Uri // Cover = uniqueFileName, //Cover = nazwa_bloaba1, // dodalem1 to jest z bloba nazwa Status = model.Status, AuthorName = model.AuthorName }; var result = await _httpClientProvider.Add(newBook); return(RedirectToAction("Details", new { id = result.Id })); } return(View()); }