Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.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
C# 单击上载的图片会转到错误路径-.NET MVC_C#_Asp.net_Asp.net Mvc_File Upload - Fatal编程技术网

C# 单击上载的图片会转到错误路径-.NET MVC

C# 单击上载的图片会转到错误路径-.NET MVC,c#,asp.net,asp.net-mvc,file-upload,C#,Asp.net,Asp.net Mvc,File Upload,我正在执行文件上载到路径: C:\Code\Portal\Portal\Files\CT\Test\Test\Lighthouse-2015_07_02_11_46_43_813.jpg C:\Code\Portal\Portal\Comment\CT\Test\Test\Lighthouse-2015_07_02_11_46_43_813.jpg 但是当我点击网站上的文件时,我得到了一个404错误,因为它试图转到以下路径: C:\Code\Portal\Portal\Files\CT\Te

我正在执行文件上载到路径:

C:\Code\Portal\Portal\Files\CT\Test\Test\Lighthouse-2015_07_02_11_46_43_813.jpg
C:\Code\Portal\Portal\Comment\CT\Test\Test\Lighthouse-2015_07_02_11_46_43_813.jpg
但是当我点击网站上的文件时,我得到了一个404错误,因为它试图转到以下路径:

C:\Code\Portal\Portal\Files\CT\Test\Test\Lighthouse-2015_07_02_11_46_43_813.jpg
C:\Code\Portal\Portal\Comment\CT\Test\Test\Lighthouse-2015_07_02_11_46_43_813.jpg
“Comment”是控制器的名称,但我尝试在单击时将其转到“Files”,这是保存图片的文件夹的名称

这是文件的链接:

<a target='_blank' href="@Url.Action(file.path)">@file.name</a>

file.path指定
'/comment/'
之后的路径。我很难理解如何使路径的注释部分消失。然后我可以将
'Files/'
添加到file.path。如果我现在这样做,那么路径就是
'comment/files'

谢谢

  • 使用web.config的appSettings中的PhotoFolder
  • 使用path.Combine将图像路径附加到PhotoFolder路径
  • 创建名为Url.Photo的UrlHelper扩展方法

    • 使用方法。它在内部执行Server.MapPath。Url.Action是获取控制器操作方法的Url。

      您可以发布
      file.path实际是什么吗?并向我们展示您是如何填充
      file.path
      和上载代码的。
      Files
      文件夹是项目的内部文件夹吗?因此,请使用
      Server.MapPath(“~”+“\Files…..jpg”
      。如果
      item.path
      已经获得了像
      Files/../1.jpg
      这样的相对路径,那么您可以使用
      Server.MapPath(item.path)
      ,file.path只是文件路径中在“/Comment/”之后开始的部分,因为它只是从数据库中获取该部分。谢谢,我应该指定,但我将对其他文件类型使用它来创建UrlHelper的扩展方法,如MapPath,它执行@ramiramilu建议的操作。