40 lines
1.0 KiB
Plaintext
40 lines
1.0 KiB
Plaintext
<!-- GoodsImageUpload.razor -->
|
|
@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>();
|
|
goodsImage.Goods = Goods;
|
|
goodsImage.ImageUrl = imageUrl;
|
|
|
|
Goods.Images.Add(goodsImage);
|
|
}
|
|
|
|
ObjectSpace.CommitChanges();
|
|
}
|
|
}
|