asp.net-mvc - 用于在 wwwroot 中创建文件夹的 CRUD 函数
问题描述
我想创建一个可以在 wwwroot 文件夹中创建文件夹的函数。因为我的客户要求是创建相册(文件夹)。我需要将此相册保存在我的根文件夹中,然后将图片保存在这些文件夹中。例如:BirthdayAlbum、WeedingAlbum 等等。
我如何在 ASP.NET Core 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.NET Core 3.1 或同等版本(如果更低),请在控制器构造函数中注入 IWebHostEnvironment。
上述代码的作用是允许您在 wwwroot 文件夹中使用您指定的文件夹名称创建文件夹,并上传图像或文件。
我希望这可以帮助您解决问题。
推荐阅读
- java - Openjfx - IntelliJ - Maven:创建项目时出现 InvocationTargetException
- r - 按R中的因子Winsorize?
- hyperledger-fabric - 如何通过目标节点查询 Hyperledger Fabric Go SDK 上的链码
- java - 从 Java 方法访问 Mule flowVars/Variable
- javascript - 三元运算符JS中的数学
- python - 在 Python 中使用 RSA 公钥验证签名的许可证密钥
- windows - 确定程序被 Windows Defender SmartScreen 阻止的原因
- java - Spring CrudRepository deleteAll() 什么都不做
- javascript - 在 getElementsByClassName() 中使用 Array
- java - 将日历添加到 PreferenceScreen