Недавно была работа, связанная с электронной почтой, которая требовала загрузки файлов в базу данных, а затем чтения файлов из базы данных и их загрузки.
Я нашел некоторую информацию и применил ее в проекте.
Структура базы данных следующая:
ИСПОЛЬЗОВАТЬ[EOffice]
ИДТИ
/**//****** Объект: Таблица [dbo].[Group_Files] Дата сценария: 20.07.2006 23:57:34 ******/
УСТАНОВИТЕ ANSI_NULLS ВКЛ.
ИДТИ
ВКЛЮЧИТЬ QUOTED_IDENTIFIER
ИДТИ
ВКЛЮЧИТЬ ANSI_PADDING
ИДТИ
СОЗДАТЬ ТАБЛИЦУ [dbo].[Group_Files](
[ID] [int] IDENTITY(1,1) NOT NULL,
[FileName] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_Group_Files_FileName] DEFAULT (''),
[FileBody] [изображение] NULL,
[FileType] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_Group_Files_FileType] DEFAULT (''),
ОГРАНИЧЕНИЕ [PK_Group_Files] КЛАСТЕРИЗАЦИЯ ПЕРВИЧНОГО КЛЮЧА
(
[ID]ASC
)С (IGNORE_DUP_KEY = OFF) НА [ПЕРВИЧНОМ]
) НА [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ВЫКЛЮЧИТЬ ANSI_PADDING
Затем я написал хранимую процедуру со следующим кодом:
ИСПОЛЬЗОВАТЬ[EOffice]
ИДТИ
/**//****** Объект: StoredProcedure [dbo].[SendTo_Group_Email] Дата сценария: 20.07.2006 23:59:21 ******/
УСТАНОВИТЕ ANSI_NULLS ВКЛ.
ИДТИ
ВКЛЮЧИТЬ QUOTED_IDENTIFIER
ИДТИ
Создайте ПРОЦЕДУРУ [dbo].[SendTo_Group_Email]
(
@Title varchar(200),
@Content varchar(MAX),
@Area varchar(макс),
@Отправитель варчар(50),
@Dept varchar(50),
@SendToUser варчар (50),
@FileName varchar(200),
Изображение @FileBody,
@FileType варчар(4)
)
AS
INSERT Group_Email (Заголовок,[Содержимое],Область,ОтправитьПользователю,Отдел,Отправитель,ИмяФайла,ТелоФайла,ТипФайла) ЗНАЧЕНИЯ (@Title,@Content,@Area,@SendToUser,@Dept,@Sender,@FileName,@FileBody, @ТипФайла)
Код программы следующий:
Отправитьэлектронную почту.aspx
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SendEmail.aspx.cs" Inherits="GroupWork_SendEmail" %>
2
3http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
4
5http://www.w3.org/1999/xhtml " >
6
7