首页 > 解决方案 > 如何访问上传到同一解决方案中另一个项目的照片

问题描述

我有名为 Company 的解决方案,其中我有三个项目

公司

| ----公司.数据

| ----公司.内网

| ----公司.网站

Company.Intranet项目中,我将照片上传到服务器(并将他的名字保存到数据库)。是否可以访问其他项目(例如Company.Website)的上传文件?

标签: c#asp.netentity-frameworkasp.net-core

解决方案


创建一个用于存储文件的目录(我在此图像字典和此项目字典中创建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是您的照片文件的名称(我将其存储在数据库中)


推荐阅读