为什么我的以下代码有时有效,但有时却无效?
private bool UploadFile(IFormFile ufile, string fname)
{
if (ufile.Length > 0)
{
string fullpath = Path.Combine(_env.WebRootPath, fname);
using (var fileStream = new FileStream(fullpath, FileMode.Create))
{
ufile.CopyToAsync(fileStream);
}
return true;
}
return false;
}
代码确实设法将图片保存到我在wwwroot
下创建的文件夹中,但是图片没有出现,甚至在Visual Studio中也没有出现。
有办法解决吗?
谢谢。
即使打开存储图片的文件夹的文件浏览器,图片也好像在那里但没有显示任何图像。
答案 0 :(得分:2)
尝试如下。文件将上传到images
文件夹下的wwwroot
文件夹中。
private async Task<bool> UploadFile(IFormFile ufile)
{
if (ufile != null && ufile.Length > 0)
{
var fileName = Path.GetFileName(ufile.FileName);
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\images", fileName);
using (var fileSrteam = new FileStream(filePath, FileMode.Create))
{
await ufile.CopyToAsync(fileSrteam);
}
return true;
}
return false;
}
答案 1 :(得分:0)
点网核心也有同样的问题,这是我所做的:
-创建虚拟目录
-将其映射到该文件夹路径(在wwwroot内部)
-使您的fullpath
等于此VD;绝对路径(可以将其保存在配置文件中)
-将此文件夹的写入权限授予iisuser
答案 2 :(得分:0)
允许访问静态文件,只需在配置方法下的startup.cs文件中添加以下行:
BookListViewController