Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 为代码中保存的图像设置文件路径,以与宿主服务器位置相对应_Asp.net Mvc_Image_File Upload - Fatal编程技术网

Asp.net mvc 为代码中保存的图像设置文件路径,以与宿主服务器位置相对应

Asp.net mvc 为代码中保存的图像设置文件路径,以与宿主服务器位置相对应,asp.net-mvc,image,file-upload,Asp.net Mvc,Image,File Upload,使用razor和sql server 2012在asp mvc3中构建web应用程序 我正在进入一个新的领域,我的研究还没有找到答案。我正在建立一个网站,允许用户创建个人资料和上传图像。当然,我希望有大量的用户,所以我将图像保存到文件服务器,并在数据库中添加一个链接。然而,我从来没有建立过这样的东西,我正试图找出“应用程序到文件服务器”的关系,特别是图像位置的路径。我只是在我的项目文件夹中创建一个文件并将它们存储在那里吗?或者我是否需要输入临时路径,然后在部署后从主机获取实际路径 目前,我正在解

使用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驱动器上创建一个文件夹,然后在启动时将该文件夹复制到托管服务器?