如何在DataGrid中生成缩略图?

饭后散步 2004-07-27 03:59:37
生成之后的缩略图是否可以不以文件形式存在服务器中而直接显示在DataGrid中(为了服务器性能)
...全文
181 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
devfan 2004-07-27
  • 打赏
  • 举报
回复
引用
<asp:Image id=Image2 runat="server" ImageUrl='<%# "GetThumbnail.aspx?filename=" + Server.UrlEncode(DataBinder.Eval(Container, "DataItem.filename").ToString()) %>' AlternateText='<%# "文件名称:" + DataBinder.Eval(Container, "DataItem.filename") + "\n文件尺寸:" + DataBinder.Eval(Container, "DataItem.size") + " bytes" %>'></asp:Image>




using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;

namespace TipsTricks.Ch4
{
/// <summary>
/// Summary description for ListImage.
/// </summary>
public class ListImage : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataList DataList1;

private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
//获取文件名称
string[] files=Directory.GetFiles(Server.MapPath("images"));
//建立数据表
DataTable dt=new DataTable();
dt.Columns.Add("filename");
dt.Columns.Add("size");

foreach (string s in files)
{
DataRow dr=dt.NewRow();
FileInfo f=new FileInfo(s);
dr["filename"]=f.Name;
dr["size"]=f.Length;
dt.Rows.Add(dr);
}
//绑定显示
this.DataList1.DataSource=dt;
this.DataList1.DataBind();
}
}

public void HHH(object sender, System.EventArgs e)
{
this.Response.Write("hello");
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}
devfan 2004-07-27
  • 打赏
  • 举报
回复
生成缩略图
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Drawing.Imaging;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;

namespace TipsTricks.Ch4
{
/// <summary>
/// Summary description for ShowSmallImage.
/// </summary>
public class ShowSmallImage : System.Web.UI.Page
{
const int MaxLength=150; //最大长度

private void Page_Load(object sender, System.EventArgs e)
{
if (Request.QueryString["filename"] != null)
{
//取得原图
string filename=Request.QueryString["filename"];
Bitmap bmpOld= new Bitmap(Server.MapPath("images/" + filename));

//计算缩小比例
double d1;
if (bmpOld.Height>bmpOld.Width)
d1=(double)(MaxLength/(double)bmpOld.Width);
else
d1=(double)(MaxLength/(double)bmpOld.Height);

//产生缩图
Bitmap bmpThumb= new Bitmap(bmpOld,(int)(bmpOld.Width*d1),(int)(bmpOld.Height*d1));

// 清除缓冲
Response.Clear();
//生成图片
bmpThumb.Save(Response.OutputStream, ImageFormat.Jpeg);
Response.End();
//释放资源
bmpThumb.Dispose();
bmpOld.Dispose();
}
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
saucer 2004-07-27
  • 打赏
  • 举报
回复
Creating Thumbnail Images on the fly with ASP.Net
http://west-wind.com/weblog/posts/283.aspx

Generating Thumbnails on the Fly Using ASP.NET!
http://www.developer.com/net/asp/article.php/3098311

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧