来自UNC路径的html图像源

use*_*408 5 html unc imagesource

我需要将图像源设置为网络上的某个位置。

该图像位于machineName \ mappedPath \ abc.jpg。

尽管我需要它在IE v9及更高版本中运行,但它不会在任何浏览器中加载。当我检查源中的位置时,它设置为

<img src="\\machineName\mappedPath\abc.jpg">
Run Code Online (Sandbox Code Playgroud)

当我右键单击IE中的图像占位符并查看属性时,我看到地址设置为

file://machineName/mappedPath/abc.jpg
Run Code Online (Sandbox Code Playgroud)

将文件浏览器与这些路径中的任何一个一起使用都可以打开图像。

我尝试添加IP。无法添加域名,因为它不在域上。

我尝试将源设置为正下方的其他路径。我读过一些地方需要5个正斜杠,但并没有什么区别

<img src="file://\\machineName\mappedPath\abc.jpg">
<img src="file:////\\machineName\mappedPath\abc.jpg">
<img src="file://///\\machineName\mappedPath\abc.jpg">
<img src="file:////machineName/mappedPath/abc.jpg">
<img src="file://///machineName/mappedPath/abc.jpg">
<img src="\\machineName\mappedPath\abc.jpg">
Run Code Online (Sandbox Code Playgroud)

我还尝试通过添加防火墙规则来启用文件共享

https://blogs.msdn.microsoft.com/windows_azure_connect_team_blog/2011/01/20/windows-azure-connect-use-case-enable-file-sharing-on-windows-azure-vm/

附带说明一下,该路径是否必须映射为网络驱动器或将其设置为网络共享是否足够?

不是确切的来源,但这是我遇到过的非常常见的一种信息,https://jonlabelle.com/snippets/view/html/create-html-link-to-unc-path,但是对于这些信息不起作用对我来说(在IE中)

Rub*_*atz 5

我找到了这个帖子。它可能有一些相关信息。

以下是Paul Zahra的回答:

FireFox 不会显示网络图像,因此我创建了一个扩展 HtmlHelper 的 MVC 助手。

public static class ImageHelper
{
    /// <summary>Converts a photo to a base64 string.</summary>
    /// <param name="html">The extended HtmlHelper.</param>
    /// <param name="fileNameandPath">File path and name.</param>
    /// <returns>Returns a base64 string.</returns>
    public static MvcHtmlString PhotoBase64ImgSrc(this HtmlHelper html, string fileNameandPath)
    {
        var byteArray = File.ReadAllBytes(fileNameandPath);
        var base64 = Convert.ToBase64String(byteArray);

        return MvcHtmlString.Create(String.Format("data:image/gif;base64,{0}", base64));
    }
}
Run Code Online (Sandbox Code Playgroud)

在 MVC 视图中使用如下:

using 
<img src="@Html.PhotoBase64ImgSrc(image)" height="60px" width="60px" alt="photo" />
Run Code Online (Sandbox Code Playgroud)

这里 @Html.PhotoBase64ImgSrc(image) 中的“图像”是纯网络 UNC,例如

//Photos/ebaebbed-92df-4867-afe8-0474ef8644eb.jpg
Run Code Online (Sandbox Code Playgroud)