asp.net如何读出保存在sqlserver里的文件呢?

ltyx01 2003-08-26 09:26:37
文件上传保存到sqlserver的一字段里面了,怎么读出来啊!我是想这样做的,点击某一个链接就弹出对话框问是直接打开还是直接下载,如果点击下载,就有一个保存对话框了,但对话框默认的保存文件名是怎么指定的,如我用一字段纪录那个文件名是 abc.doc ,那么保存对话框默认指定的文件名就应该是 abc.doc啊;

不管文件类型是否是浏览器能直接显示浏览,都要弹出对话框询问是下载还是直接打开哦!哪位先生帮帮我啊!
...全文
47 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltyx01 2003-08-26
  • 打赏
  • 举报
回复
呵呵,我要的是Asp.net之C#篇的,谢谢!我也试了,可是我不知道问题出在哪了就是不弹出窗口问问我是否下载还是直接打开啊!
  • 打赏
  • 举报
回复
SqlDa.SelectCommand.CommandText = "select * from itemcontent where icid=" + id
SqlDa.SelectCommand.Connection = Conn
SqlDa.Fill(DsContent1, "ic")

Dim dr As SqlClient.SqlDataReader = SqlDa.SelectCommand.ExecuteReader
dr.Read()

'数据为空退出
If dr.IsDBNull(9) Then
Response.Write("<script language='JavaScript'>alert('没有文件信息');</script>")
Response.Write("<script language='JavaScript'>window.close();</script>")
Exit Sub
End If
'读取数据
Dim TrueSize = dr.GetBytes(fileDataCol, 0, Nothing, 0, Integer.MaxValue)
Dim fileContent(TrueSize) As Byte
dr.GetBytes(fileDataCol, 0, fileContent, 0, TrueSize)

'将变量设置为实际读取的长度
Response.ContentType = DsContent1.Tables("ic").Rows(0).Item("filetype")
Response.AddHeader("Content-Disposition", "attachment; filename=" + DsContent1.Tables("ic").Rows(0).Item("filename"))
Me.Response.Clear()
Dim fs As System.IO.Stream = Me.Response.OutputStream
fs.Write(fileContent, 0, fileContent.Length)
fs.Close()
Response.End()
ltyx01 2003-08-26
  • 打赏
  • 举报
回复
谢谢大家先,有哪位继续啊
acewang 2003-08-26
  • 打赏
  • 举报
回复
文件上传参考:

http://www.chinabs.net/aspnet/default.asp?infoid=100
acewang 2003-08-26
  • 打赏
  • 举报
回复
文件下载
用aspx读取文件输出它
string strFile = "e:\\test.doc";
FileStream fs = new FileStream(strFile, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename=" & strFile);
Response.BinaryWrite(bytes);
Response.End();
ltyx01 2003-08-26
  • 打赏
  • 举报
回复
我是读数据库中的二进制流出来波, uno(钢盅郭子) 这样可行吗?
panyee 2003-08-26
  • 打赏
  • 举报
回复
<%@Page language="C#"%>
<%@import namespace="System.Data"%>
<%@import namespace="System.Data.SqlClient"%>
<script language="C#" runat="server">
public void Page_Load(Object o, EventArgs e)
{
int ImgID = Convert.ToInt32(Request.Params["id"]);
string connStr = ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection conn = new SqlConnection(connStr);
string sql = "select * from t_imgs where id = @ImgID";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@ImgID", SqlDbType.Int).Value = ImgID;
conn.Open();
SqlDataReader read = cmd.ExecuteReader();
read.Read();
Response.ContentType = (string)read["type"];
string strFileName = System.Web.HttpUtility.UrlEncode( System.Text.Encoding.UTF8.GetBytes((string)read["imgName"]);
Response.AppendHeader("Content-Disposition", "attachment; filename=" + strFileName);
Response.ContentType = "application/octet-stream";
Response.BinaryWrite((byte[])read["imgData"], 0, (int)read["imgSize"]);
Response.End();
conn.Close();
}
</script>
uno 2003-08-26
  • 打赏
  • 举报
回复
Response.AddHeader("Content-disposition", "attachment; filename=" + 文件名);
Response.Write(数据);
Part1第一部分: 相信大家找得到该书的源代码部分 也就是这部分内容 因此我便无偿奉送 让大家下载试试。 若感觉可以方可继续下载电子书部分。 1.本书1~21章所附代码的运行环境 操作系统:Windows Server 2003或Windows XP Professional 开发环境:Microsoft Visual Studio 2005 数据库:SQL Server 2005 Web服务器:IIS 5.1及以上版本 2.本书所附光盘范例 第1章(\Chapter 01) 示例描述:本章演示ASP.NET 2.0网站的预编译以及学习ASP.NET 2.0的前置知识。 WebSite文件夹 创建的ASP.NET 2.0 Web站点。 www文件夹 第一个用C#开发的Web应用程序。 bianyi.bat 编译网站的批处理文件。 form.html 表单范例。 css.html CSS范例。 第3章(\Chapter 03) 示例描述:本章介绍C# 2.0程序设计基础。 3-01.cs 第一个C#程序。 3-02.cs 不导入命名空间来改写程序3-01.cs。 3-03.cs ReadLine()方法读数据。 3-04.cs 常量的使用。 3-05.cs 整型类型的使用。 3-06.cs 结构类型的使用。 3-07.cs 枚举类型的使用。 3-08.cs 用一个输入参数通过值传递一个变量给一个方法。 3-09.cs 一维数组的使用。 3-10.cs 使用代理类型。 3-11.cs 使用接口。 3-12.cs 装箱操作。 3-13.cs 字符串操作。 3-14.cs if语句的使用。 3-15.cs switch语句的使用。 3-16.cs while语句的使用。 3-17.cs do-while语句的使用。 3-18.cs for语句的使用。 3-19.cs 异常捕获:try-catch语句的使用。 3-20.cs 异常捕获:try-finally语句的使用。 3-21.cs 异常捕获:try-catch-finally语句的使用。 3-22.cs get和set对属性的值进行读写操作。 3-23.cs 方法的使用。 3-24.cs 继承演示。 3-25.cs 多态性演示。 第4 章(\Chapter 04) 示例描述:本章学习ASP.NET 2.0页面基本对象。 4-01.aspx aspx页面中添加一个Lable标签。 4-02.aspx 读出Application的属性值。 4-03.aspx 读出SessionID的值。 4-04.aspx 创建Session对象。 4-05.aspx 读取传递的Session值并显示。 4-06.aspx 使用Response对象的Write()方法。 4-07.aspx 使用Response对象的End()方法。 4-08.html 以post方式提交数据到4-08.aspx的表单。 4-08.aspx 接收表单数据并进行处理。 4
Part1第一部分: 相信大家找得到该书的源代码部分 也就是这部分内容 因此我便无偿奉送 让大家下载试试。 若感觉可以方可继续下载电子书部分。 1.本书1~21章所附代码的运行环境 操作系统:Windows Server 2003或Windows XP Professional 开发环境:Microsoft Visual Studio 2005 数据库:SQL Server 2005 Web服务器:IIS 5.1及以上版本 2.本书所附光盘范例 第1章(\Chapter 01) 示例描述:本章演示ASP.NET 2.0网站的预编译以及学习ASP.NET 2.0的前置知识。 WebSite文件夹 创建的ASP.NET 2.0 Web站点。 www文件夹 第一个用C#开发的Web应用程序。 bianyi.bat 编译网站的批处理文件。 form.html 表单范例。 css.html CSS范例。 第3章(\Chapter 03) 示例描述:本章介绍C# 2.0程序设计基础。 3-01.cs 第一个C#程序。 3-02.cs 不导入命名空间来改写程序3-01.cs。 3-03.cs ReadLine()方法读数据。 3-04.cs 常量的使用。 3-05.cs 整型类型的使用。 3-06.cs 结构类型的使用。 3-07.cs 枚举类型的使用。 3-08.cs 用一个输入参数通过值传递一个变量给一个方法。 3-09.cs 一维数组的使用。 3-10.cs 使用代理类型。 3-11.cs 使用接口。 3-12.cs 装箱操作。 3-13.cs 字符串操作。 3-14.cs if语句的使用。 3-15.cs switch语句的使用。 3-16.cs while语句的使用。 3-17.cs do-while语句的使用。 3-18.cs for语句的使用。 3-19.cs 异常捕获:try-catch语句的使用。 3-20.cs 异常捕获:try-finally语句的使用。 3-21.cs 异常捕获:try-catch-finally语句的使用。 3-22.cs get和set对属性的值进行读写操作。 3-23.cs 方法的使用。 3-24.cs 继承演示。 3-25.cs 多态性演示。 第4 章(\Chapter 04) 示例描述:本章学习ASP.NET 2.0页面基本对象。 4-01.aspx aspx页面中添加一个Lable标签。 4-02.aspx 读出Application的属性值。 4-03.aspx 读出SessionID的值。 4-04.aspx 创建Session对象。 4-05.aspx 读取传递的Session值并显示。 4-06.aspx 使用Response对象的Write()方法。 4-07.aspx

62,046

社区成员

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

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

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

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