`

4.1.2、文件保存到数据库

阅读更多
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

分享到:
评论

相关推荐

    使用POI解析excel文件并写入数据库

    本篇文章将详细讲解如何使用Apache POI解析Excel文件,并将数据写入数据库。 首先,我们需要了解Apache POI的基本概念。POI提供了一个Java API,使得开发者可以在不依赖Microsoft Office的情况下,处理Excel文件。...

    hibernate4.1.2

    1. **配置和初始化**:在Hibernate 4.1.2中,配置文件通常为`hibernate.cfg.xml`,包含了数据库连接信息、实体类映射等设置。初始化时,通过`Configuration`类加载配置并建立`SessionFactory`,它是所有数据库会话的...

    java-poi导出导入excel文件到数据库

    4. **保存到本地**:使用`FileOutputStream`将内存中的`Workbook`写入到本地文件。 ```java FileOutputStream fos = new FileOutputStream("output.xlsx"); workbook.write(fos); fos.close(); ``` 通过以上步骤,...

    java利用POI技术上传&导出Excel表格并保存数据至数据库

    在本教程中,我们将探讨如何利用POI技术来上传和导出Excel表格,并将数据保存到数据库中。这个过程通常分为三个主要步骤:Excel文件的读取、数据处理和数据库交互。 首先,我们需要导入Apache POI的相关库。在Maven...

    SSM框架导入导出Excel文件

    - 将工作簿写入OutputStream,可以是HTTP响应的OutputStream,实现网页下载,也可以保存到本地文件。 5. **最佳实践** - 数据验证:在导入前对Excel数据进行校验,避免非法数据导致数据库错误。 - 异常处理:...

    把数据库查询出来的结果放到excel中进行保存

    System.out.println("查询结果已保存到Excel文件中"); } catch (SQLException e) { e.printStackTrace(); } } } ``` 这个例子展示了如何从MySQL数据库获取数据并将其写入Excel文件。根据实际需求,你可能需要...

    数据库数据导出excel表格

    6. **保存Excel文件**: 创建一个`OutputStream`对象,如`FileOutputStream`,然后调用`workbook.write(outputStream)`将工作簿写入输出流,最后关闭流: ```java FileOutputStream outputStream = new ...

    CodeSmith.Pro.4.1.2.(代码生成器)

    4. **生成代码**:运行模板,CodeSmith将根据设置生成相应的代码文件,并保存到指定的文件夹。 5. **查看与调试**:检查生成的代码,如有需要,可返回调整模板并重新生成。 总的来说,CodeSmith Pro 4.1.2是一个...

    JAVA的Excel文件读写

    在Java编程环境中,处理Excel文件是...这个压缩包提供的代码示例可以帮助你快速理解和应用这些概念,只需将其解压并集成到你的项目中即可开始操作Excel文件并与数据库进行交互。请根据实际情况调整代码以满足具体需求。

    Oracle数据库的逻辑结构与物理结构.pptx

    数据文件的个数受到操作系统和数据库创建时设置的`MAXDATAFILES`参数限制。 4.3 数据字典 数据字典是Oracle用来存储元数据的系统表和视图,包含关于数据库对象、用户权限和其他系统信息的数据。 4.4 Oracle的内存...

    Maxtong移动博客数据库结构说明书 (2).docx

    Maxtong移动博客数据库主要采用了MySQL 4.1.2版本作为其数据库管理系统,且默认字符集为GBK。这个数据库设计规范包括将表名设定为小写,字段名为大写,旨在提高代码的可读性和一致性。 1. **activity** 表: 这个表...

    使用poi实现导入excel

    在Java开发中,Apache POI 是一个非常流行的...通过以上步骤,你应该能理解如何使用Apache POI库导入和解析Excel文件,将数据保存到数据库中。这个过程可以用于批量导入数据、数据分析等多个场景,大大提高了工作效率。

    使用java做数据库导出excel

    本文将深入探讨如何使用Java实现从数据库到Excel的导出过程,为初学者提供详尽的指导。 首先,我们需要了解的是Java处理Excel文件的库,最常用的有Apache POI和JExcelAPI。Apache POI是开源项目,提供了全面的API来...

    Oracle8i_9i数据库基础.txt

    - **1.5.7 Save (保存当前结果到文件)**:保存查询结果。 - **1.5.8 GET (获取文件)**:从文件读取并执行 SQL 命令。 - **1.5.9 SPOOL (将输出重定向到文件)**:将输出重定向到文件中。 - **1.5.10 设置当前路径**:...

    数据库导出成Excel示例

    本示例主要关注如何将MySQL数据库中的数据导出到Excel文件,这涉及到Java编程和Apache POI库的使用。Apache POI是Java平台上的一个开源项目,专门用于读写Microsoft Office格式的文件,包括Excel。 首先,你需要在...

    jsp 导入 excel的例子

    在完成数据读取后,你可能需要将这些数据保存到数据库,进行进一步的业务处理。例如,你可以创建一个DAO层来处理与数据库的交互,或者使用Spring Data JPA等框架简化操作。 总之,通过结合JSP和Apache POI库,我们...

    MYSQL网络数据库PDF学习资源

    4.1.2 索引的弊端 127 4.1.3 选择索引 127 4.2 MySQL 查询优化程序 129 4.2.1 优化程序怎样工作 129 4.2.2 忽略优化 131 4.3 列类型选择与查询效率 132 4.4 有效地装载数据 134 4.5 调度与锁定问题 136 4.6 管理员的...

    VisualFoxPro

    查询设计器允许用户从数据库或自由表中获取所需数据,设置查询条件和要求,生成.qpr文件,通过DO命令执行。与查询类似,视图设计器用于创建视图,视图是数据库中的一种虚拟表,根据查询条件和要求从源表中提取数据。...

    java实现将数据库数据生产excel表格

    6. **保存到文件**:最后,将工作簿写入文件: ```java try (FileOutputStream out = new FileOutputStream("output.xlsx")) { workbook.write(out); } ``` 7. **关闭资源**:别忘了关闭数据库连接和工作簿: ``...

    使用POI进行Excel文件下载的示例工程

    这个示例工程可能还包含了展示如何使用模板来生成复杂格式的Excel文件,或者如何从数据库中获取数据填充到Excel中的例子。 总的来说,Apache POI提供了一套强大的API,使得开发者能够在Java应用中方便地创建和下载...

Global site tag (gtag.js) - Google Analytics