在下面的代码中,我有一个图像,我想将图像放在面板中但图像需要整页显示但我想在面板中显示请帮我这样做。
if (fileExt == ".jpeg" || fileExt == ".jpg")
{
Response.ContentType = "image/jpeg";
docimg.ImageUrl = "C:\\Search\\" + strName + "\\" + strDocumentFolder + "\\" + Imgdocname;
docimg.Visible = true;
Response.WriteFile(docimg.ImageUrl);
}
<div ID="imgContainer" runat="server" style="width: 700px; height: 300px; overflow:auto; border: solid 1px black;
padding: 10px; margin-bottom: 5px;" >
<asp:Panel ID="imgPnl" runat="server">
<asp:Image ID="docimg" runat="server" Width="100px" Height="100px"/></asp:Panel>
答案 0 :(得分:0)
在您的代码中,您正在从服务器中的C Drive
物理路径读取图像,并在整个响应中加载图像。
我建议你做以下
以下是p-sedo代码
if (fileExt == ".jpeg" || fileExt == ".jpg")
{
string imagePath= "C:\\Search\\" + strName + "\\" + strDocumentFolder + "\\" + Imgdocname;
//Read image from location and save it in the web application
string savedTempPath="/temp/Imgdocname.jpeg";
docimg.ImageUrl=Server.MapPath("~/temp/Imgdocname.jpeg");
}
更好的方法
更好的方法是使用处理程序/单独页面为您处理
<强> ImageProcess.aspx 强>
protected void Page_Load(object sender, EventArgs e)
{
string imageName=Request.QueryString["fName"];
// then more logic on file extn etc
if (fileExt == ".jpeg" || fileExt == ".jpg")
{
Response.ContentType = "image/jpeg";
string file = "C:\\Search\\" + strName + "\\" + strDocumentFolder + "\\" + Imgdocname;
Response.WriteFile(file);
}
}
在aspx中
<div ID="imgContainer" runat="server" >
<asp:Panel ID="imgPnl" runat="server">
<asp:Image ID="docimg" runat="server"
ImageUrl="~/ImageProcess.aspx?fName=test.jpeg"
Width="100px" Height="100px"/>
</asp:Panel>
</div>