大文件上传组件集成说明

集成说明

       Jimy

  1. 1.     部署说明

1.1.       复制文件夹“FileCenter”到应用程序目录下(即添加到应用程序中)

同时添加相关dll引用:

MyBigFile.dll;

Microsoft.Practices.ObjectBuilder.dll;Microsoft.Practices.EnterpriseLibrary.Data.dll;

Microsoft.Practices.EnterpriseLibrary.Common.dll

其中后面三个为引用微软企业库的dll,主要为了实现可支持多数据库操作。

1.2.       配置文件设置

1.2.1)设置Modules为大文件上传Modules,同时设置文件上传最大值及超时时间,在     <system.web>节配置如下内容:

         <httpModules>

              <add name="FileModule" type="MyBigFile.FileModule,MyBigFile"/>

         </httpModules>

<httpRuntime maxRequestLength="1048576"   executionTimeout="3600" useFullyQualifiedRedirectUrl="true"></httpRuntime>

1.2.3)设置文件路径保存的接口实现,如果没有设置,将使用默认的实现,在<appSettings>节配置如下内容:

    <add key="BifFile" value="MyBigFile.BigFileBL,MyBigFile"/>  

1.2.4)设置数据库连接串,在<configuration>节配置如下内容

  <configSections>

    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data"/>

    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >

    </sectionGroup>

  </configSections>

  <dataConfiguration defaultDatabase="AccessCString1"/>

  <connectionStrings>

    <add name="AccessCString1" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source= E:\_Work\大文件上传\BigFile\FileCenter\bigfile.mdb" providerName="System.Data.OleDb"/>

   </connectionStrings>

其中数据库连接串可配置成access数据库,如上所示;也可以配置成其他数据库,如SQLServer数据库:

<add name="sqlserver1" connectionString="Data Source=OT-JIMY;Initial Catalog=bigFile;Persist Security Info=True;User;Password=123"

     providerName="System.Data.SqlClient" />

 

 

 

 

  1. 2.     开发使用

使用方式和普通的用户控件使用方法一致:

2.1.       在引用界面添加用户控件引用

<%@ Register Src="~/FileCenter/BigFileEdit.ascx" TagName="BigFileEdit" TagPrefix="ucl" %>

2.2.       使用控件

<ucl:BigFileEdit ID="filaae" FileID="iad"  FilePath="FileCenter/MyFile2/" ShowOnly="T" EditPage="FileCenter/BigFileEdit.aspx" runat=server />

说明:

FileID为该次控件的文件ID,通过该ID,可以获取文件列表,如果是编辑,请传入该ID;如果是新建,该ID会自动生成,请在保存时同时保存该ID。

FilePath为文件的存储路径,可以根据需要设置文件存储路径。

ShowOnly为是否为只读标志,如果设置为T,表示该控件只做显示用,没有相关的编辑界面;如果没有设置该值,默认情况是有编辑界面的。

EditPage为大文件上传控件的位置,如果是直接集成在系统中,该值可以不用设置。

2.3.       获取文件ID

   protected void btnsave_Click(object sender, EventArgs e)

    {

        Response.Write(filaae.FileID);

}

在引用控件的界面中,可以通过控件的对象获取文件上传ID,该ID可由开发人员自行保存,并且在读出相关的文件时需要用到该ID。如上面2.2设置FileID为某个值。该ID也可以在后台进行赋值。

 

 

 

  1. 3.     高级个性开发(文件路径管理的接口实现)

本组件开放文件管理接口,开发人员可以自行设置文件路径管理的方法,只需要实现IBigFile接口:

    public interface IBigFile

    {

        bool AddFile(string pFileID, string pFileName, string pFileEx, long pFileLength, string pFilePath);

        bool AddFile(BigFileMDL pData);

        bool DelFile(string pID);

        List<BigFileMDL> ListFile(string pFileID);

        BigFileMDL GetFile(string pID);

}

同时在配置文件中 设置文件路径保存的接口实现即可(参考1.2.3) 

 

 

 

 

 

  1. 4.     例子

本组件自带了一个例子,可以直接运行,运行界面如下

 

添加多个文件后界面如下

 

点击上传,进度显示如下:

 

 

上传完成之后,界面如下:

 

posted @ 2010-06-23 11:54  自由之风  阅读(234)  评论(0编辑  收藏  举报