1

asp.net MVC 将数据库中的相对路径保存为

~/Content/Uploads/11thMay.jpg

不是完整路径

D:/Projects/HRMV2/CubicHRMWeb/Content/Uploads/11thMay.jpg

我想保存相对路径,但在 DB 中保存完整路径。

我该怎么做?谢谢。

4

3 回答 3

1

如果您的问题是“如何保存为完整路径”,请试试这个

string path = Path.Combine(Server.MapPath("~/Content/img/Company/LogoFiles"), filename);

如果您的问题是“如何另存为相对路径”,请试试这个

[HttpPost]
public ActionResult Save(HttpPostedFileBase myFile)
{
    string filename = myFile.FileName;
    string relativeFileName = "~/Content/Uploads/" + filename;// relative path

    return View();
}
于 2013-07-30T13:52:20.510 回答
0

此代码不允许保存相对路径,当您尝试时,会设置文件名的整体而不仅仅是文件名。如果此时插入断点,则必须获得类似

   "/content/Uploads/C:Document/Picture/father.jpeg" 

而不是你想要的相对路径

  "/content/Uploads/father.jpeg" 
于 2016-05-17T09:17:57.653 回答
0

为了保存文档的相对路径,您应该使用 system.io 的 getfilename 属性,如下例所示。

我想您想在控制器的 post 方法中执行此操作,该方法在我的示例中包含模型或 httppostedfilebase,我有一个名为 imagefichier 的带有 httppostedfilebase 属性的模型,因此您可以通过执行此操作获取文档名称

 var lefilename =   System.IO.Path.GetFileName(model.imagefichier.FileName);
//Suppose that you want to save it in your root web file
 //like ~/Images/Administrateur/leilename,you can do it like this
    string cheminbdd = "~/Images/Administrateur/" + lefilename;
  //it is cheminbdd that you can save in your database as your relative path
于 2016-06-02T11:21:15.903 回答