使用ASP.Net MVC一次性上传并存储许多图像到数据库,并创建缩略图。

12 浏览
0 Comments

使用ASP.Net MVC一次性上传并存储许多图像到数据库,并创建缩略图。

如何一次性上传多张图片(通过打开对话框并使用Shift / Ctrl键)并将它们存储到SQL Server数据库中(为每个图片创建一条记录),然后使用ASP.Net MVC创建缩略图?视图和控制器应该如何编写?非常感谢。

0
0 Comments

ASP.Net MVC中出现了一个问题,即如何上传和存储多个图像到数据库,并同时创建缩略图。

问题的解决方法是创建两个类:MainClass和MainClassViewModel。MainClass类有一个带有标签名的图像属性,如下所示:

public class MainClass
{
    [Key]
    public int MainClassId { get; set; }
    [DisplayName("Image 1")]
    public Bytes[] Image1 { get; set; }
}

然后需要一个ModelView类(类似于原始类,只需将"Bytes[]"的类型更改为"HttpPostedFileBase"):

public class MainClassModelView
{
    [Key]
    public int MainClassId { get; set; }
    [DisplayName("Image 1")]
    public HttpPostedFileBase Image1 { get; set; }
}

在视图中,使用这个ModelView类,在第一行声明如下:

@model ApplicationName.Models.MainClassModelView

然后使用这个视图:

@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    @Html.AntiForgeryToken()
    

MainClassView


@Html.Images(m => m.Image1) @Html.ValidationMessageFor(model => model.Image1, "", new { @class = "text-danger" })
}

通过以上步骤,可以实现在ASP.Net MVC中上传和存储多个图像到数据库,并同时创建缩略图。

0
0 Comments

文章标题:使用ASP.Net MVC一次性上传并存储多个图像到数据库,并同时创建缩略图的解决方法

在你的问题中,似乎你的知识范围涉及到了很多方面,包括ASP.NET MVC、图像处理算法、SQL服务器和一般的Web设计等。为了避免深入研究你的问题,我将简单地解释你需要做的事情。你需要自己进行相关的研究,因为没有任何数量的S.O.(Stack Overflow)的问题和答案能够给你适当的技术知识。

首先,你需要一个能够存储图像的数据库。下面是一个小教程:http://www.codeproject.com/Articles/354639/Storing-and-Retrieving-Images-from-SQL-Server-Usin。这可能需要一些时间。但是一旦你完成了这个步骤,你就需要进入你的项目并开始构建基本的架构。你的对象应该是什么样的?你的程序的流程是怎样的?一个重要的问题是你将如何连接到你的数据库?答案可能是使用Entity Framework。你需要研究如何使用EF来将数据从服务器端代码传输到数据库。

至于你的视图和控制器,控制器是你的应用程序中进行计算和处理的地方,而视图几乎像是显示计算出的数据的模板。你需要确定要在视图和控制器之间传递的数据。一般而言,根据你提供的少量信息,视图的外观几乎可以是你想要的任何样子,控制器必须将从视图传递过来的图像转换为缩略图,然后通过EF将其传递回数据库。

还有很多工作要做,是吧?;) 谢谢你的帮助,我的朋友。但是我已经使用了Code First构建了我的数据库,并且我已经做了很多工作。实际上,我只想知道如何一次性上传多个图像并逐个存储它们。我需要一些代码示例;-)

stackoverflow.com/questions/10956721/… - stackoverflow.com/questions/10402094/… - hanselman.com/blog/…

0