Asp.net mvc 为代码中保存的图像设置文件路径,以与宿主服务器位置相对应
使用razor和sql server 2012在asp mvc3中构建web应用程序 我正在进入一个新的领域,我的研究还没有找到答案。我正在建立一个网站,允许用户创建个人资料和上传图像。当然,我希望有大量的用户,所以我将图像保存到文件服务器,并在数据库中添加一个链接。然而,我从来没有建立过这样的东西,我正试图找出“应用程序到文件服务器”的关系,特别是图像位置的路径。我只是在我的项目文件夹中创建一个文件并将它们存储在那里吗?或者我是否需要输入临时路径,然后在部署后从主机获取实际路径 目前,我正在解决方案中存储:Asp.net mvc 为代码中保存的图像设置文件路径,以与宿主服务器位置相对应,asp.net-mvc,image,file-upload,Asp.net Mvc,Image,File Upload,使用razor和sql server 2012在asp mvc3中构建web应用程序 我正在进入一个新的领域,我的研究还没有找到答案。我正在建立一个网站,允许用户创建个人资料和上传图像。当然,我希望有大量的用户,所以我将图像保存到文件服务器,并在数据库中添加一个链接。然而,我从来没有建立过这样的东西,我正试图找出“应用程序到文件服务器”的关系,特别是图像位置的路径。我只是在我的项目文件夹中创建一个文件并将它们存储在那里吗?或者我是否需要输入临时路径,然后在部署后从主机获取实际路径 目前,我正在解
[HttpPost]
public ActionResult ImageUpload(HttpPostedFileBase file)
{
string path = Path.Combine(Server.MapPath("~/Images"), Path.GetFileName(file.FileName));
file.SaveAs(path);
ViewBag.ImageUploadMessage = "File Uploaded Successfully";
return View();
}
假设我在根目录中有一个名为“Images”的文件夹,这段代码可以正常工作,但对于实时站点来说,这似乎并不正确。您还可以在应用程序中创建一个目录,然后在服务器上创建一个目录,并按如下方式给出上载文件的路径:
string path = "/VirtualDirecotryName/";
path = Path.Combine(Server.MapPath(path), fileName);
fileupload.SaveAs(path);
并将对该文件的引用存储在数据库中。这就是我在我的应用程序中管理用户配置文件pic的方式,因为它非常容易维护,因为文件正在上传到独立的虚拟目录中,而不是在应用程序中。
希望这能对你有所帮助。你试过了吗,但没用?试过什么?问题本质上是,当在文件系统而不是数据库中存储图像时,这是如何工作的?我是否在vs解决方案中创建文件夹?还是在我的c驱动器上创建一个文件夹,然后在启动时将该文件夹复制到托管服务器?