先看看效果(下面gif动画制作有点大,5.71MB):
ASP.NET MVC图片管理(上传,预览与显示)

 

题外话:上面选择图片来源于Insus.NET的新浪微博:http://weibo.com/104325017 也是昨晚(2015-07-03)Insus.NET烹饪的晚餐。如果你也想学习烹饪,也可以关注Insus.NET的微博。

言归正传,由于以前的asp.net mvc的练习文件上传文件,显示或是下载等博文,均是存储于站点目录之中。这次练习是把图片存储于数据库。也就是以图片的数据流存储。在上传时我们需要把文件处理为数据库,显示时,我们需要把数据流处理为文件。

一看上面的演示,我们还会看到一个预览区。选择图片时,预览区会预先显示选择图片。确认正确之后,我们再上传至数据库中。

使用下面SQL语句创建表[dbo].[ImageStore],存储过程2个[dbo].[usp_ImageStore_Insert]和[dbo].[usp_ImageStore_GetAll]:
ASP.NET MVC图片管理(上传,预览与显示)

CREATE TABLE [dbo].[ImageStore](
    [ImageStore_nbr] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
    [Name] [nvarchar](50) NOT NULL,
    [MimeType] [nvarchar](50) NOT NULL,
    [Content] [image] NOT NULL
)
GO

CREATE PROCEDURE [dbo].[usp_ImageStore_Insert]
(
    @Name [nvarchar](50),
    @MimeType [nvarchar](50),
    @Content [image]
)
AS
INSERT INTO [dbo].[ImageStore] ([Name],[MimeType],[Content]) VALUES (@Name,@MimeType,@Content)
GO

CREATE PROCEDURE [dbo].[usp_ImageStore_GetAll]
AS
SELECT [ImageStore_nbr],[Name],[MimeType],[Content] FROM [dbo].[ImageStore]
GO
View Code

相关文章: