mvc文件上传和数据库插入

时间:2014-09-10 15:45:34

标签: asp.net-mvc database file-upload

我正在使用VS 2013将我的头脑包裹在.net中。

我需要一些关于上传文件的方向(这很容易),但也需要将有关该图像的数据插入数据库。具体来说,我想允许最终用户输入关于正在上传的文件的描述,标题等。在后端,我还要添加元数据a'创建日期''文件路径'类别'和文件名以及一些有助于在视图中显示文件的其他数据。我不想在DB中插入文件,只是使用生成的HTML中的路径指向物理文件,以便最终用户可以查看或下载它。 正在使用多种文件类型,音频,视频,文档,图像。

我可以让文件上传工作,但是编写控制器来接受文件和最终用户输入,然后还将我需要的其他字段添加到用户从未看到的数据库中,这是我遇到的问题。将文件上传与用户字段和beack结束数据混合使我对如何使所有部分一起工作感到困惑。

因此,简而言之,在同一个视图,控制器和模型中获取文件上传+用户输入+非用户输入值是我需要的方向。

1 个答案:

答案 0 :(得分:0)

您必须以多部分形式上传图片和数据。

在您的视图中,您将创建一个使用" multipart / form-data"的POST表单。然后,您可以在表单正文中包含模型数据和文件上载控件的输入。提交时将创建一个多部分表单,一部分将包含二进制文件,另一部分将包含您的数据。

在控制器操作方面,您将收到类似于

的操作的数据

public ActionResult PostFile(MyModel model,HttpPostedFileBase file){...}

SO上有很多帖子,有更多细节,所以我不会进入。