Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.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# 在MVC中插入图像_C#_Image_Visual Studio 2008_Asp.net Mvc 2_Hyperlink - Fatal编程技术网

C# 在MVC中插入图像

C# 在MVC中插入图像,c#,image,visual-studio-2008,asp.net-mvc-2,hyperlink,C#,Image,Visual Studio 2008,Asp.net Mvc 2,Hyperlink,我想插入一个图像超链接到我的MVC项目。 我有一个类(MyImg),它为我提供了一个具有以下属性的对象(MyImg): 如何将此图像超链接放入我的应用程序中 我找到的所有答案都使用图像URL,而不是实际的图像文件。您需要一个带有返回FileContentResult的操作的控制器。然后,您需要将该图像放入MemoryStream并返回。。大致如下: public FileContentResult GetImage(int ID) { ClassYouHave hyperLink;

我想插入一个图像超链接到我的MVC项目。
我有一个类(MyImg),它为我提供了一个具有以下属性的对象(MyImg):

如何将此图像超链接放入我的应用程序中


我找到的所有答案都使用图像URL,而不是实际的图像文件。

您需要一个带有返回FileContentResult的操作的控制器。然后,您需要将该图像放入MemoryStream并返回。。大致如下:

public FileContentResult GetImage(int ID)
{
    ClassYouHave hyperLink;
    // .. your code to load the data you've shown above
    using (MemoryStream ms = new MemoryStream())
    {
        hyperLink.Image.Save(ms, ImageFormat.Jpeg);
        return File(ms, "image/" + hyperLink.ImageType);
    }
}
然后,您可以执行以下操作:

@Html.ActionLink("Click here to view this picture!", "GetImage", "Ctrlr", new { id = 1 })

我得到了一个错误:“System.IO.File”是一个“类型”,但它像一个“变量”一样使用。为什么要首先将整个内容复制到内存中?如果图像大小适中,这可能会导致大型对象堆变得凌乱。我需要它,因为它来自其他系统,我需要在我的应用程序中显示它。不,我在问chemicalNova,为什么他的答案让你将它复制到这样的内存流中,而你可以更直接地复制它。徒手打字。道歉。如果超过85k是的,它将搞乱LOH。