ASP.NET中通过对话框方式下载文件
2008-05-01 04:37
531 查看
.Vvy493{display:none;}ASP.NET中通过对话框方式下载文件
1通过探出对话框提示文件下载或打开
2通过自定义Header让特定的应用程序打开文件
使用的方法:Response.TransmitFile()
例程:
Response.ContentType=“image/jpeg”;
Response.AppendHeader(“Content-Disposition”,”attachment;filename=SailBig.jpg”);
Response.TransmitFile(Server.MapPath(“~/images/sailbig.jpg”));
流传送所使用的方法:Response.BinaryWrite()和Response.OutputStream()
例程:
Bitmapbmp=wwWebUtils.CornerImage(backcolor,color,c,Radius,Height,Width);
Response.ContentType=“image/jpeg”;
Response.AppendHeader(“Content-Disposition”,”attenment;filename=LeftCorner.jpg”);
bmp.Save(Response.OutputStream,ImageFormat.Jpeg);
关于ContentType(MIMEType)的参考URL: http://www.w3.org/TR/html4/types.html(概述) http://www.iana.org/assignments/media-types/(详细列表)
常见问题解决方案:
1、当从资源文件或者数据库BLOB字段载入图像出现错误
错误内容:AgenericerroroccurredinGDI+
代码:
Bitmapbmp=this.GetGlobalResourceObject(“Resource”,”_BitMap”)asBitmap;
Response.ContentType=”image/jpeg”;
bmp.Save(Response.OutputStream,ImageFormat.Jpeg);
Response.End();
解决方法,再创建一个实例接收从资源文件或者数据库BLOB字段读入的图像内容。
解决方案代码:
Bitmapbmp=this.GetGlobalResourceObject(“Resource”,”_BitMap”)asBitmap;
Bitmaptemp=newBitmap(bmp);
Response.ContentType=“image/jpeg”;
Temp.Save(Response.OutputStream,ImageFormat.Jpeg);
bmp.Dispose();
temp.Dispose();
Response.End();
2、无法直接把PNG图像存入到输出流
原因:PNG是特殊的图片格式
解决方案代码:
Bitmapbmp=this.GetGlobalResourceObject(“Resource”,“_BitMap”)asBitmap;
Bitmaptemp=newBitmap(bmp);
MemoryStreamms=newMemoryStream();
Response.ContentType=”image/png”;
temp.Save(ms,System.Drawing.Imaging,ImageFormat.Png);
Ms.WriteTo(Response.OutputStream);
bmp.Dispose();
temp.Dispose();
Response.End();
3、解决缓存问题
Response.ContentType=”image/png”;
Response.Buffer=false;
Response.Clear();
MemoryStreamstream1=newMemoryStream();
//DrawPiemethodreturnanImage
This.DrawPie(table1).Save(stream1,ImageFormat.Png);
Response.BinaryWrite(stream1.ToArray());
Base.OnPreInit(e);
1通过探出对话框提示文件下载或打开
2通过自定义Header让特定的应用程序打开文件
使用的方法:Response.TransmitFile()
例程:
Response.ContentType=“image/jpeg”;
Response.AppendHeader(“Content-Disposition”,”attachment;filename=SailBig.jpg”);
Response.TransmitFile(Server.MapPath(“~/images/sailbig.jpg”));
流传送所使用的方法:Response.BinaryWrite()和Response.OutputStream()
例程:
Bitmapbmp=wwWebUtils.CornerImage(backcolor,color,c,Radius,Height,Width);
Response.ContentType=“image/jpeg”;
Response.AppendHeader(“Content-Disposition”,”attenment;filename=LeftCorner.jpg”);
bmp.Save(Response.OutputStream,ImageFormat.Jpeg);
关于ContentType(MIMEType)的参考URL: http://www.w3.org/TR/html4/types.html(概述) http://www.iana.org/assignments/media-types/(详细列表)
常见问题解决方案:
1、当从资源文件或者数据库BLOB字段载入图像出现错误
错误内容:AgenericerroroccurredinGDI+
代码:
Bitmapbmp=this.GetGlobalResourceObject(“Resource”,”_BitMap”)asBitmap;
Response.ContentType=”image/jpeg”;
bmp.Save(Response.OutputStream,ImageFormat.Jpeg);
Response.End();
解决方法,再创建一个实例接收从资源文件或者数据库BLOB字段读入的图像内容。
解决方案代码:
Bitmapbmp=this.GetGlobalResourceObject(“Resource”,”_BitMap”)asBitmap;
Bitmaptemp=newBitmap(bmp);
Response.ContentType=“image/jpeg”;
Temp.Save(Response.OutputStream,ImageFormat.Jpeg);
bmp.Dispose();
temp.Dispose();
Response.End();
2、无法直接把PNG图像存入到输出流
原因:PNG是特殊的图片格式
解决方案代码:
Bitmapbmp=this.GetGlobalResourceObject(“Resource”,“_BitMap”)asBitmap;
Bitmaptemp=newBitmap(bmp);
MemoryStreamms=newMemoryStream();
Response.ContentType=”image/png”;
temp.Save(ms,System.Drawing.Imaging,ImageFormat.Png);
Ms.WriteTo(Response.OutputStream);
bmp.Dispose();
temp.Dispose();
Response.End();
3、解决缓存问题
Response.ContentType=”image/png”;
Response.Buffer=false;
Response.Clear();
MemoryStreamstream1=newMemoryStream();
//DrawPiemethodreturnanImage
This.DrawPie(table1).Save(stream1,ImageFormat.Png);
Response.BinaryWrite(stream1.ToArray());
Base.OnPreInit(e);
相关文章推荐
- ASP.NET中通过对话框方式下载文件
- ASP.NET中通过对话框方式下载文件
- ASP.NET中通过对话框方式下载文件
- ASP.NET 中如何通过编码的方式限制文件的下载速度
- ASP.NET下载文件时直接弹出“另存为”对话框
- ASP.NET文件下载各种方式比较:对性能的影响、对大文件的支持、对断点续传和多线程下载的支持
- asp.net下载文件几种方式
- ASP.NET获取远程网页下载到本地文件,通过URL生成静态文件的做法
- ASP.NET下载文件的几种方式(被转烂了)
- ASP.NET Core文件上传与下载(多种上传方式)
- ASP.NET文件下载简单实现(也可以通过直接读取数据库 大字段文件,如oracle 中的bolg,long raw 等大字段文件)
- ASP.NET文件下载各种方式比较:对性能的影响、对大文件的支持、对断点续传和多线程下载的支持
- asp.net下载文件几种方式
- ASP.NET中文件上传下载方法集合(上传限制,保存方式-二进制或文件形式,上传Internet上的资源 )
- asp.net下载文件几种方式
- asp.net 几种文件下载方式比较
- asp.net下载文件几种方式
- Asp.net下载文件几种方式
- asp.net下载文件几种方式
- asp.net下载文件几种方式