ASP.NET中页面如何读取多张图片

基本情况如题。
我现在要在页面上读取图片(路径如:C:/test.jpg),请不要说直接把图片路径写绝对,不同的浏览器情况下很难保证能够正确显示,像一些个老版本的IE就无法通过这种方式来显示图片。我是通过response的一些个方法去读取的。以下是我的代码:
if (File.Exists("c:\\test.jpg"))
{
Response.Clear();
Response.AddHeader("content-Type", "image/jpeg");
Response.BinaryWrite(File.ReadAllBytes("c:\\test.jpg"));
Response.Flush();
Response.End();
}
但是通过这种方式读取的话,一个是只能读取一张图片,另外页面上原来的一些设置也没有了,整个页面上只剩下一张图片了。。
另外有其他朋友有建议加一个页面,然后在页面上通过以上的方式读取图片。然后在页面上加一个Image的控件,并把控件的ImageURL指向那个图片页面,要显示不同图片只要传不同的参数就可以了。然后我试了一下,比方说,我现在页面上要获取的是两张图片,然后就给了两个Image控件。在页面上点击按钮时分别给两控件一个页面地址,如下:
this.Image1.ImageUrl = "PicPage.aspx?type=1";
this.Image2.ImageUrl = "PicPage.aspx?type=2";
这样写的话,页面的格式不会出错了,但是页面上两张图片都只显示tyoe=2时的图片,如果两张图都要显示的话,这样就要去写两个图片页面,才能显示两张图片。但是如果我需要在页面上显示三张或以上的图片又会有问题了,我不可能无限制的去加一个空的图片页面,想请问一下有没有什么办法可以解决一下。。
我要的结果如下图。。首先我在打开页面时页面没有图片。然后根据条件去筛选后在本机的C盘下生成两张统计图片,并在本页面上读取相应的图表,示例中的图片是我随机选取的。因为在做统计图表,页面上让显示多种图例,如饼图,柱形图,线型图等。
问题解决后再给分,谢谢
生成图表的我在程序里已经写好,正常生成了,只是在页面上要读取这两个生成的图片罢了。。我如何在页面上通过流的方式读取两张图片,且不改变页面本身的布局
二楼说的那样的方法我之前用过,直接生成在web路径下,我们用VSS小组一起做项目的,如果直接生成在web路径下的话,我每生成一次图表,我的解决方案就得提交一次了。哪怕是我把原有的文件删了放一个同名的文件进去,也会让我再提交一下解决方案。。很郁闷呐

看了你的问题,推荐你直接使用图片路径的方式显示图片,效率高。
将你的图表图片,生成在你的WEB目录下,就不会有路径问题了。

用二进制方式显示图片,非常占用服务器资源,效率低。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-07
然后根据条件去筛选后在本机的C盘下生成两张统计图片

如果是客户端来访问,B/S结构不允许你直接写客户端的文件的。

而且到底也没名白你的整个的程序思路。

另,微软有内置的统计图表控件MSchart,用起来简单得很

你可以参考一下MSchart的做法,不用单独生成每一个图片

参考资料:http://www.360doc.com/content/10/0425/11/1286441_24774027.shtml

求大神指教:asp.net怎么向一个本地的页面中添加大量的图片,用什么方法...
直接图区图片路径,之后再页面展示就行了 如果是读取目录中的就比较麻烦了,要先读该目录下的所有文件,之后再在页面中循环读取展示就行了 不过,图片越大的页面加载越慢,所以如果图片特别的多,那么 建议你修改图片的质量,尽可能的小 这样页面加载会快一些 读取文件目录的代码,网上有不少的案例,你...

asp.net如何实现几张图片的轮流显示,然后鼠标放到图片下面的序列号...
几种方案。第一 在页面上用js或者jquery来实现。 第二,在asp.net后台向前台注册脚本块来实现(不推荐) 第三,使用ajax扩展控件或者第三方控件。

asp.net中怎么在网页中显示指定文件夹中的全部图片
我用Image控件可以读取文件夹中的图片,但只能读取和控件同样数量的图片。后来想用Image类做个循环,读取所有图片,但Image类声明的对象在页面中显示不出来,真郁闷。

在ASP.NET浏览图片时怎么实现上一张下一张
用sql语句 上一张:SELECT top 1 * FROM 表名 WHERE Id <"当前传过来的ID"下一张:SELECT top 1 * FROM 表名 WHERE Id >"当前传过来的ID"

asp.net读取目录图片
可以。1)首先使用System.IO.Directory.GetFiles("你的路径","*.jpg");你应该获取带有绝对路径的图片。2)然后可以使用foreach输出:foreach (var img in System.IO.Directory.GetFiles("你的路径","*.jpg")){ Response.Write("");} ...

asp.net c# 怎样在主页显示某个文件夹里的所有图片
思路:1.文件上传的时候DB记录文件路径。2.default.aspx增加datalist控件设计模版 前台如:<asp:DataList ID="DataList1" runat="server" Height="30px" RepeatColumns="1" Width="705px" CssClass="style4"> <ItemTemplate> ...

asp.net中如何在一个页面设置全部页面的主题。如我要在一个页面中选择...
这里用到了模板页的知识 在解决方案资源管理器里右键添加新项,母版页;然后,把要全部公用的模块写出来。新建aspx页面,在页面顶部加入MasterPageFile="母版页"然后再里面就可以引用母版页中的部分了,可以理解为像继承一样

asp.net中如何实现图片的连续播放
<SCRIPT language="javascript"> <!-- \/\/说明:\/\/bannerAD[]行“=”号后面是图片的路径和文件名;\/\/bannerADlink[]行“=”号后面是该图片链接地址;默认为不做链接;var bannerAD = new Array();var bannerADlink = new Array();var bannerName = new Array();var j = 0;\/\/var _http ...

asp.net求各位大神帮忙,怎样实现这种功能呢?每行读取两列数据,但是行与...
<asp:DataList runat="server" RepeatColumns="2"> <ItemTemplate> 内容1 <\/ItemTemplate> <AlternatingItemTemplate> 内容2 <\/AlternatingItemTemplate> <\/asp:DataList> 内容1,2 代码一样只是样式不一样 就可以做到上面效果

asp.net做网站,如何加入图片?
比如你做的网站放在C:\\Documents and Settings\\luzhaochun\\My Documents\\Visual Studio 2005\\WebSites\\WebSite1里的,那在里面建一个images文件夹,然后在路径里直接打images\/***.jpg就可以了,如果不行就用 "~\/images\/*.jpg"

相似回答