ASP.NET MVC,MVVM和文件上传

时间:2009-11-04 15:38:41

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

我非常喜欢MVVM模式,特别是在使用ASP.NET MVC框架时(在本例中为v2预览2)。

但我很好奇是否有人知道在上传文件时如何使用它?

public class MyViewModel
{
    public WhatTypeShouldThisBe MyFileUpload { get; set; }
}

3 个答案:

答案 0 :(得分:3)

我有一个production asp.net mvc网站运行我写的jQuery多文件上传器。 This answer包含大部分代码,因此应该开始在MVC中上传。这个问题实际上是要求将上传的文件存储在Stream中并使用byte[],但您会在答案中看到我的代码如何应用于这两种情况。

答案 1 :(得分:1)

如果您使用标准组件(System.IO.Path),通常 HttpFileCollection 就足够了。

请注意 HttpFileCollection HttpPostedFile 的集合,即您可以一次上传多个文件。

答案 2 :(得分:1)

我认为byte []足以存储上传的文件,例如在我的上传操作中,我会这样做:

        foreach (string file in Request.Files)
        {
            HttpPostedFileBase hpf = Request.Files(file) as HttpPostedFileBase;
            if (hpf.ContentLength == 0)
            {
                continue;
            }


            //This would be the part to get the data and save it to the view
            byte[] origImageData = new byte[(int)hpf.ContentLength - 1 + 1];
            hpf.InputStream.Read(origImageData, 0, (int)hpf.ContentLength);


        }

希望它有所帮助。