c# - 如何访问上传到同一解决方案中另一个项目的照片
问题描述
我有名为 Company 的解决方案,其中我有三个项目
公司
| ----公司.数据
| ----公司.内网
| ----公司.网站
在Company.Intranet项目中,我将照片上传到服务器(并将他的名字保存到数据库)。是否可以访问其他项目(例如Company.Website)的上传文件?
解决方案
创建一个用于存储文件的目录(我在此图像字典和此项目字典中创建wwwroot字典)
**公司
| ----公司资料
| ----公司.内网
| - - 公司网站
| ---- wwwroot
|-------|--------图片
|-------|--------|--------项目
在Company.Intranet中编辑Startup.cs
app.UseFileServer(new FileServerOptions()
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(),
"..\\wwwroot\\images\\items")),
RequestPath = new PathString("/files"),
EnableDirectoryBrowsing = false // you make this true or false.
}
);
"..\\wwwroot\\images\\items"
上传照片的路径在哪里,名称/files
是您在提及照片时将使用的名称。
在您将上传文件的控制器更改目录中
var fileName = Path.GetFileName(Photo.FileName);
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "..\\wwwroot\\images\\items", fileName);
using (var fileSteam = new FileStream(filePath, FileMode.Create))
{
await Photo.CopyToAsync(fileSteam);
}
上传照片的路径在哪里"..\\wwwroot\\images\\items"
-> 与您在Startup.cs文件中提供的路径相同
在Company.Website中编辑Startup.cs
app.UseFileServer(new FileServerOptions()
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(),
"..\\wwwroot\\images\\items")),
RequestPath = new PathString("/files"),
EnableDirectoryBrowsing = false // you make this true or false.
}
);
上传照片的路径在哪里"..\\wwwroot\\images\\items"
-> 与您在Company.Intranet项目的Startup.cs文件中提供的路径相同
在查看使用代码中查看图片
<img src="@("/files/" + @item.Photo2)"/>
/files/
您在引用照片时将使用的自定义名称在哪里,并且@item.Photo2
是您的照片文件的名称(我将其存储在数据库中)