无法正确链接到fileserver

时间:2013-11-21 15:21:58

标签: c# asp.net-mvc href

我有一个包含文档的表格,每个文档都有一个链接。这些文档保存在文件服务器上。

查看:

var doclink = @"\\x\x\x\x_x\" + Model.IdPersoneelslid + "\\" + Model.DocumentSoortValue[i].DocLink;

<td><a href="@doclink" target="_blank">Link</a></td>

使用此代码,我在浏览器中获取此URL:localhost:59614 / Home / x / x / x / x_x / 827 / IDE_1.pdf

我尝试了多种解决方案,例如放置file:// infront等,但似乎都没有。

有什么想法吗?

更新

我现在认为它适用于IE浏览器但不适用于Firefox。

新问题:

我是否需要以某种方式将文件服务器链接到我的IIS服务器?

2 个答案:

答案 0 :(得分:0)

试试这个:

 <a href="@(Path.Combine(Server.MapPath(Url.Content("/uploads/path/....."))));"></a>

答案 1 :(得分:0)

我对文件共享中存在的图像存在类似问题。我必须创建一个控制器操作,该操作将路径作为参数并使用它来加载它并将其作为FileResult返回。

public class FilesController : Controller
{
    public FileResult Index(string id)
    {
        try
        {
           return File(id, "application/octetstream", Path.GetFileName(id));
        }
        catch (FileNotFoundException)
        {
            // do 404 error stuff
        }
        catch (Exception)
        {
            // do generic error stuff
        }
    }
}

然后在视图中:

var doclink = @"\\x\x\x\x_x\" + Model.IdPersoneelslid + "\\" + Model.DocumentSoortValue[i].DocLink;

<a href="@Url.Action("Index", "Files")?id=@doclink">Linky Face!</a>

当我尝试将路径作为{new id = doclink}传递时,我一直得到404。将它作为查询字符串传递固定。

在我的情况下,我想也可能是你的情况,文件共享没有配置为允许通过http访问,因此我必须找到一种方法来获取代码,因为你可以使用网络文件系统访问共享。

警告:整个解决方案取决于您在至少具有对文件共享的读取权限的帐户下运行应用程序。