`

4.1.1、文件保存到文件夹

阅读更多
2、文件保存到数据库

上传

<%@ Page Language="C#" %>

<%@ Import Namespace="System.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    protected void btnAdd_Click(object sender, EventArgs e)
    {
        if (upFile.HasFile)
        {
            if (CheckFileType(upFile.FileName))
                srcFiles.Insert();
        }
    }
    bool CheckFileType(string fileName)
    {
        return Path.GetExtension(fileName).ToLower() == ".doc";
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <style type="text/css">
        .fileList li
        {
            margin-bottom: 5px;
        }
    </style>
    <title>FileUpload Database</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="lblFile" Text="Word Document:" AssociatedControlID="upFile" runat="server" />
        <asp:FileUpload ID="upFile" runat="server" />
        <asp:Button ID="btnAdd" Text="Add Document" runat="server" OnClick="btnAdd_Click" />
        <hr />
        <asp:Repeater ID="rptFiles" DataSourceID="srcFiles" runat="server">
            <HeaderTemplate>
                <ul class="fileList">
            </HeaderTemplate>
            <ItemTemplate>
                <li>
                    <asp:HyperLink ID="lnkFile" Text='<%# Eval("FileName") %>' NavigateUrl='<%#Eval("Id","~/FileHandler.ashx?id={0}") %>'
                        runat="server" />
                </li>
            </ItemTemplate>
            <FooterTemplate>
                </ul>
            </FooterTemplate>
        </asp:Repeater>
    </div>
    <asp:SqlDataSource ID="srcFiles" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
        SelectCommand="SELECT Id,FileName FROM [Files]" InsertCommand="INSERT Files(FileName,FileBytes) VALUES(@FileName,@FileBytes)">
        <InsertParameters>
            <asp:ControlParameter Name="FileName" ControlID="upFile" PropertyName="FileName" />
            <asp:ControlParameter Name="FileBytes" ControlID="upFile" PropertyName="FileBytes" />
        </InsertParameters>
    </asp:SqlDataSource>
    </form>
</body>
</html>

----------------------------------------
Web 配置
<?xml version="1.0"?>
<!--
  有®D关?如¨?何?配?置? ASP.NET 应®|用®?程¨¬序¨°的Ì?详¨º细?信?息¡é,ê?请?访¤?问¨º
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\first.mdf;Integrated Security=True;User Instance=True"
     providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.web>
    <compilation debug="true" targetFramework="4.0"/>
  </system.web>
</configuration>

----------------------------------------
Action

<%@ WebHandler Language="C#" Class="FileHandler" %>

using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;

public class FileHandler : IHttpHandler
{
    const string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\first.mdf;Integrated Security=True;User Instance=True";
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "application/msword";
        SqlConnection con = new SqlConnection(connectionString);
        SqlCommand cmd = new SqlCommand("Select FileBytes From Files where id=@id", con);
        cmd.Parameters.AddWithValue("@Id", context.Request["id"]);
        using (con)
        {
            con.Open();
            byte[] file = (byte[])cmd.ExecuteScalar();
            context.Response.BinaryWrite(file);
        }
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}

2011-4-27 11:44 danny

分享到:
评论

相关推荐

    opencv4.1.1-vc15-full-install.rar

    4. 安装完成后,配置你的Visual Studio项目,将OpenCV的头文件和库文件路径添加到项目设置中。 对于开发工作,了解如何在C++代码中正确导入OpenCV库并调用其函数至关重要。例如,你可能需要在代码开头包含必要的...

    ubuntu12.04编译android4.1.1_r6源代码步骤定义.pdf

    官方下载地址可能已失效,因此需要从其他可靠来源下载`repo`脚本并保存到`~/bin`。 4. **初始化repo**: 使用`repo init`命令来初始化源代码仓库,并使用`repo sync`命令下载全部源代码。 编译Android源代码的...

    kibana-4.1.1-windows

    1. 解压:首先,你需要将下载的"kibana-4.1.1-windows"压缩包解压到任意文件夹,例如"C:\Program Files"。 2. 配置:进入解压后的目录,找到并编辑配置文件`config/kibana.yml`。主要配置包括Elasticsearch服务器...

    ubuntu12.04编译android4.1.1_r6源代码步骤.pdf

    4. 由于官方的`repo`下载链接可能失效,你可以从其他可信赖的源下载`repo`脚本,将其保存到`~/.bin`目录。 **三、初始化和克隆源代码** 1. 使用`repo init`命令初始化你的工作目录,这会配置你的源代码仓库。 2. ...

    chrome-extension-server-log-v4.1.1.zip

    1. 下载zip文件后,解压到本地文件夹。 2. 打开Chrome浏览器,进入设置页面(点击右上角三个垂直点,选择“更多工具”,然后点击“扩展程序”)。 3. 开启开发者模式(在页面右上角找到并点击“开发者模式”开关)。...

    可编程逻辑器件(EDA):第4章 QuartusII应用向导.ppt

    #### 4.1.1 建立工作库文件夹和编辑设计文件 1. **新建一个文件夹**:首先,为项目创建一个专门的工作目录,这有助于保持组织和管理设计文件。 2. **输入源程序**:在该文件夹中,编写或导入VHDL或Verilog HDL源...

    秋亿网络文件管理

     1、更正在线编辑文件保存错误的漏洞,改进文件编辑增加ADO读取文件(为了对不同编码文件读取)。  2、更正不开启限制IP登陆功能也提示信息的漏洞。  3、改进IE与非IE浏览器显示问题。 v4.0 更新:  1、增加...

    Auto.js及打包插件.rar

    4. `res` 文件夹:包含了应用的资源文件,如布局文件(XML)、图像(PNG、JPEG)、颜色值(XML)、字符串(XML)等。每个资源都有一个唯一的ID,可以在代码中通过R类访问。 5. `META-INF` 文件夹:包含了关于APK的...

    photopshop ppw调板安装包及安装教程

    2. **了解文件结构**:解压后的文件夹内通常包含插件文件和安装指南。插件文件可能以.atn(动作文件)或.8bf(滤镜文件)的形式存在。这些文件是Photoshop识别和使用插件的关键。 3. **安装插件**:对于Photoshop的...

    waf编译环境的介绍文档(英文版)

    - 一个项目中可以有多个 `wscript` 文件,每个文件可以位于不同的文件夹中。WAF 会递归查找所有子文件夹中的 `wscript` 文件并执行它们。 ##### 3.2 WAF 项目定义 - **3.2.1 配置项目(`configure` 命令)** - ...

    editOL_项目报告1

    用户还可以将文件整理到不同的文件夹,方便查找和管理。 3.3文本编辑管理模块 文本编辑管理模块提供了丰富的编辑工具,如字体选择、字号调整、颜色设定等,同时具备撤销/重做、查找替换、拼写检查等功能。最重要的...

    TortoiseSVN和TortoiseMerge的中文帮助文档(chm格式)

    4.3. 在一个版本控制的文件夹下资源管理器文件菜单中的快捷方式。 4.4. 版本控制下的一个目录的右键拖拽菜单 4.5. 认证对话框 4.6. 导入对话框 4.7. 检出对话框 4.8. 提交对话框 4.9. 提交对话框的拼写检查器 4.10. ...

    subversion-TortoiseSVN-使用手册(CHM+HTML,中英完整版)

    从版本库里更新选定的文件到本地 B.4. 回滚版本库里的版本 B.4.1. 使用版本日志对话框 B.4.2. 使用合并对话框 B.4.3. 使用svndumpfilter B.5. 比较一个文件的两个版本 B.6. 包含一个普通的子项目 B.6.1. 使用svn:...

    Ubuntu权威指南(2/2)

    6.3 保存编辑的文件并退出vim 136 6.4 vim编辑器的基本命令 137 6.4.1 移动光标位置 137 6.4.2 输入文本 138 6.4.3 修改与替换文本 138 6.4.4 撤销先前的修改 139 6.4.5 删除文本 139 6.4.6 复制、删除与粘贴文本 ...

    Ubuntu权威指南(1/2)

    6.3 保存编辑的文件并退出vim 136 6.4 vim编辑器的基本命令 137 6.4.1 移动光标位置 137 6.4.2 输入文本 138 6.4.3 修改与替换文本 138 6.4.4 撤销先前的修改 139 6.4.5 删除文本 139 6.4.6 复制、删除与粘贴文本 ...

    LINUX最强归纳总结秘籍

    - `ls -l`:以长格式列出文件和文件夹详细信息。 - `ls -a`:显示隐藏文件(以“.”开头的文件)。 - **复制文件或目录:** - `cp &lt;source&gt; &lt;destination&gt;`:复制文件或目录。 - `cp -r &lt;source&gt; &lt;destination&gt;`...

    实验课需要,上传到其他地方

    保存文件后,即可启动并运行Spark。 如果需要使用HDFS中的文件,还需要确保Hadoop服务已经启动。 #### 4.2 在spark-shell中运行代码 安装完成后,可以通过`spark-shell`命令启动Spark交互式Shell,并在其中编写...

    git培训讲义1

    2.3.1 生成密钥:使用`ssh-keygen`命令,设置密钥对并保存在用户目录的.ssh文件夹下。 2.3.2 配置密钥:编辑`config`文件,指定密钥路径,并在Gitlab中添加公钥。 2.3.3 测试密钥:使用`ssh -T git@192.168.48.24...

Global site tag (gtag.js) - Google Analytics