@page "/upload-goods-images" @inject IObjectSpace ObjectSpace @inject IWebHostEnvironment Environment @code { [Parameter] public Goods Goods { get; set; } private async Task HandleFileSelected(InputFileChangeEventArgs e) { var files = e.GetMultipleFiles(); foreach (var file in files) { var imageName = $"{Guid.NewGuid()}_{file.Name}"; var path = Path.Combine(Environment.WebRootPath, "uploads", imageName); Directory.CreateDirectory(Path.GetDirectoryName(path)); using (var fileStream = new FileStream(path, FileMode.Create)) { await file.OpenReadStream().CopyToAsync(fileStream); } var imageUrl = $"uploads/{imageName}"; var goodsImage = ObjectSpace.CreateObject(); goodsImage.Goods = Goods; goodsImage.ImageUrl = imageUrl; Goods.Images.Add(goodsImage); } ObjectSpace.CommitChanges(); } }