【背景和需求要求】
- ASP.NET+DevExpress第三方控件实现Web Form应用(在线公证服务)
- 附件有多种类型,doc/sql/jpg/png/….,目前没有限制附件类型,不过真实情况下应该会限制,这种限制既可以在附件上传控件的属性上做限制,也可以在代码中用正则表达式做限制,当然这种限制是由管理员提出的。
- 不同的公证可能需要上传不同的附件,因此前台需要动态生成n个附件上传的控件(FileUpload或者其他),点击上传后,附件上传到数据库中或者服务器上
- 附件的下载支持单文件下载,也支持多文件打包压缩后下载。下载到客户端机器上
【附件上传】
1. 思路一
文件上传,将文件内容转换为二进制流(byte[]字符串),然后将二进制流写入到Insert方法中
将文件转换为字节数组,并作为一个字段保存到数据库中,在Oracle数据库中相应字段为BLOB(二进制的大数据对象),在MS SQLServer中是image类型。
实现步骤:
①
--1.建表
CREATE TABLE TA_附件(
附件编号 VARCHAR2(5) CONSTRAINTS PK_附件_编号 PRIMARY KEY,
附件名称 VARCHAR2(100) NOT NULL,
附件内容 BLOB NOT NULL,
附件类型 VARCHAR2(20),
附件大小 INTEGER,
附件上传时间 DATE,
是否上传成功 VARCHAR2(2) DEFAULT '0'
);
-- Add comments to the columns
comment on column TA_附件.附件类型
is 'jpg|gif|doc|*';