asp.net MVC将数据库中的相对路径保存为
~/Content/Uploads/11thMay.jpg
不是完整路径
D:/Projects/HRMV2/CubicHRMWeb/Content/Uploads/11thMay.jpg
我想保存相对路径但是在DB完整路径中正在保存。
我该怎么办? 感谢。
答案 0 :(得分: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();
}
答案 1 :(得分:0)
此代码不允许保存相对路径,当您尝试它时,文件名的整体设置而不仅仅是文件名。如果此时插入断点,则必须获取类似
"/content/Uploads/C:Document/Picture/father.jpeg"
而不是你希望它的相对路径
"/content/Uploads/father.jpeg"
答案 2 :(得分:0)
为了保存文档的相对路径,你应该使用system.io的getfilename属性,如下例所示。
我想您希望在包含模型或httppostedfilebase的控制器的post方法中执行此操作 在我的示例中,我有一个名为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