我想创建一个函数,它可以在wwwroot文件夹中创建文件夹。因为我的客户要求是创建相册(文件夹(。我需要将这些相册保存在我的根文件夹中,然后将图片保存在这些文件夹中。例如:BirthdayAlbum、WeedingAlbum等。
我如何在ASP中做到这一点。NET核心MVC?
虽然你的问题不包括你到目前为止做了什么,但我希望这将在某种程度上帮助你:
public async Task<IActionResult> Upload(string folder)
{
if (folder == null)
{
folder = "Uploads";
}
var file = Request.Form.Files[0];
var directory = Path.Combine(_environment.WebRootPath, $"{folder}");
var filePath = $"{Request.Scheme}://{Request.Host}/{folder}/";
var finalFileName = "";
if (file.Length > 0)
{
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
var fileName = Path.GetFileName(Guid.NewGuid().ToString().Substring(0, 12).ToLower() + file.FileName);
var path = Path.GetFullPath(directory);
using (var fileStream = new FileStream(Path.Combine(path, fileName), FileMode.Create, FileAccess.ReadWrite))
{
await file.CopyToAsync(fileStream);
}
finalFileName = fileName;
}
return Ok($"{filePath + finalFileName}");
}
注意:如果您使用ASP,请在控制器构造函数中注入IWebHostEnvironment。NET Core 3.1或其同等版本(如果更低(。
上面的代码所做的是允许您在wwwroot文件夹中使用指定的文件夹名称创建文件夹,并上传图像或文件。
我希望这能帮助你解决这个问题。