我有一个管理面板,我将文件上传到~/uploads
从主页网站我想访问这些图像路径。我已经阅读了Server.mapPath()
,但它给了我当前正在运行的应用程序的根路径。我想在db中存储图像的绝对路径,以便我可以从主站点访问它们。已阅读有关以base 64的形式在db中存储图像但我想使用文件系统。
抱歉英文不正确..
path = Path.Combine(
System.IO.Path.GetPathRoot(System.Web.Hosting.HostingEnvironment.MapPath("~/uploads")),
image.FileName);
image.SaveAs(path);
答案 0 :(得分:1)
不同场景的不同方式。如果您使用本地IIS来托管应用程序,
Path.Combine(System.IO.Path.GetPathRoot(System.Web.Hosting.HostingEnvironment.MapPath("~/uploads")),
image.FileName);
如果你使用基于云的应用程序,比如azure app,那么只需使用azure blob来保存你的文件,亚马逊S3也很棒且易于使用
如果这两个应用程序托管在不同的服务器上,但是使用相同的子网,则可以使用" \ 192.168.1.1 \ uploads"作为虚拟目录的物理位置,请确保您具有访问网络驱动程序的正确凭据
如果这两个应用程序不在服务器上,甚至无法访问对方和任何其他第三服务器,那么您可以使用dropbox进行同步,在两台服务器上设置dropbox,将虚拟目录映射到折叠下dropbox,在admin
上保存文件后,图像将立即同步到前端应用程序