gpt4 book ai didi

asp.net - 如何显示存储在本地驱动器中的图像?

转载 作者:行者123 更新时间:2023-12-02 05:39:15 26 4
gpt4 key购买 nike

我有一个 asp 页面,我必须在其中显示存储在本地磁盘 C 中的图像:IE..C:\Program Files\Adrenalin\Adrenalin\UploadedFiles\TemplateFile\abc.jpg

我该怎么做...我做不到。该图像不显示,而是显示一个空的图像容器,其中包含指定的图像名称和不可用的 URL。

请帮忙....

最佳答案

如果图像位于网站文件夹之外,您将遇到权限问题。传统上,网站在 NETWORK SERVICE 用户帐户下运行,这将限制对文件夹外文件的访问。您需要从具有类似访问权限的文件夹中提取文件,这样做极不明智,尤其是从 Program Files 中。

您可能应该通过网页或网络服务来代理文件,这不会暴露图像是在网站外部提供的事实。您需要确保目标文件夹 C:\Program Files\Adrenalin\Adrenalin\UploadedFiles\TemplateFile 具有 NETWORK SERVICE 读取权限。

例如。创建一个空白的 ASP.NET 页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ImageServer.aspx.cs" Inherits="ImageServer" %>

后面的代码:

class ImageServer
{
void Page_Load(object sender, EVentArgs e)
{
Response.ContentType="image/jpeg"; // for JPEG file
string physicalFileName=@"C:\Program Files\Adrenalin\Adrenalin\UploadedFiles\TemplateFile\abc.jpg";
Response.WriteFile(physicalFileName);
}
}

然后通过转到 URL 在浏览器中进行测试

http://<localhost>/<website>/ImageServer.aspx

你应该得到图像。

然后,在标记内,使用页面的 URL 作为图像占位符:

<img src="ImageServer.aspx" alt="Image served" />

更新:

查看您的最新评论,我建议您发送一个带有某种员工代码的 QueryString 参数,并使用它来查询数据库并在 Page_Load() 方法中获取适当的文件名。不要将文件名作为 QueryString 的一部分发送。

关于asp.net - 如何显示存储在本地驱动器中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3130745/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com