大文件上传组件集成说明
集成说明
Jimy
- 1. 部署说明
1.1. 复制文件夹“FileCenter”到应用程序目录下(即添加到应用程序中)
同时添加相关dll引用:
MyBigFile.dll;
Microsoft.Practices.ObjectBuilder.dll;Microsoft.Practices.EnterpriseLibrary.Data.dll;
Microsoft.Practices.EnterpriseLibrary.Common.dll
其中后面三个为引用微软企业库的dll,主要为了实现可支持多数据库操作。
1.2. 配置文件设置
<httpModules>
<add name="FileModule" type="MyBigFile.FileModule,MyBigFile"/>
</httpModules>
<httpRuntime maxRequestLength="1048576" executionTimeout="3600" useFullyQualifiedRedirectUrl="true"></httpRuntime>
<add key="BifFile" value="MyBigFile.BigFileBL,MyBigFile"/>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data"/>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=
</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" />
- 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也可以在后台进行赋值。
- 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);
}
同时在配置文件中 设置文件路径保存的接口实现即可(参考
- 4. 例子
本组件自带了一个例子,可以直接运行,运行界面如下
添加多个文件后界面如下
点击上传,进度显示如下:
上传完成之后,界面如下: