易截截图软件、单文件、免安装、纯绿色、仅160KB

asp.net 直接 从数据库 下载 文件

当我们想要从网上下载文件时,通常的做法是在服务器上的某个目录下生成一个文件。
protected void DownloadFile(string filename)
{
string saveFileName = "test.xls";
int intStart = filename.LastIndexOf("\\") + 1;
saveFileName = filename.Substring(intStart, filename.Length - intStart);
Response.Clear();
Response.Charset = "utf-8";
Response.Buffer = true;
this.EnableViewState = false;
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + saveFileName);
Response.WriteFile(filename);
Response.Flush();
Response.Close();
Response.End();

但会存在这样的情况,直接从数据库中下载图片。
其实原理很简单。就是用MemoryStream代替FileStream。有一点需要注意就是http头的格式要设置正确。 byte[] pic = //从数据库返回的图片
MemoryStream ms = new MemoryStream(pic);
System.Drawing.Image img = null;
Graphics g =null;
try
{
img = new Bitmap(new MemoryStream(pic));
g= Graphics.fromImage(img);
Font objfont = new Font("Verdana", 12, FontStyle.Bold);
Brush objbrush = Brushes.Red;
Rectangle rect = new Rectangle(150, 550, 200, 50);
g.DrawString("添加文字", objfont, objbrush, rect);
img.Save(ms, ImageFormat.Bmp);
}
catch { }
finally
{
if (img != null) img.Dispose();
if (g!= null) g.Dispose();
}
byte[] newbmp = ms.ToArray();
ms.Close();
ms = new MemoryStream(newbmp);
Response.Clear();
Response.AddHeader("Content-type", "binary/octet-stream");
Response.AddHeader("Content-Length", pic.Length.ToString());
Response.AddHeader("Content-Disposition", "attachment; filename="+pic.Length.ToString()+".bmp; size=" + pic.Length.ToString());


相关文档:

ASP.NET页面刷新方法总结

先看看ASP.NET页面刷新的实现方法:
第一:
C# code
private void Button1_Click( object sender, System.EventArgs e )
{
Response.Redirect( Request.Url.ToString( ) );
}
第二:
C# code
private void Button2_Click( object sender, System.EventArgs e )
{
Response.Write( " < script lang ......

asp.net学习步骤


第一步 掌握一门。NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去!
第二步 对。NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习。NET Framework。ASP.NET是建构在。NET Framework之 ......

asp.net超链接传值问题

最近开发中在页面之间传递值的过程中,多处应用了超链接传值的方式。但是当传递的参数中含有中文字符时,在调用Request.QueryString[]方法接收参数时,总是出现错误,而且错误的出现总是随机的。表现为接收的中文参数不全,后加通配符“?”,或者把中文参数后的那个参数和中文参数混在一起,不加区分。
 & ......

ASP.NET MVC 入门3、Routing

在一个
route
中,通过在大括号中放一个占位符来定义
(
{ and } )
。当解析
URL
的时候,符号
"/"

"."
被作为一个定义符来解析,而定义符之间的值则匹配到占位
符中。
route
定义中不在大括号中的信息则作为常量值。
下面是一些示例
URL


Valid route definitions
Example ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号