处理上传的文件而不保存?

时间:2011-06-01 10:02:02

标签: asp.net-mvc asp.net-mvc-3

我使用以下代码上传文件

[HttpPost]
public ActionResult ImportDeleteCourse(ImportFromExcel model)
{
  var excelFile = model.ExcelFile;
  if (ModelState.IsValid)
  {
     OrganisationServices services = new OrganisationServices();
     string filePath = Path.Combine(HttpContext.Server.MapPath("../Uploads"),
                                  Path.GetFileName(excelFile.FileName));

    excelFile.SaveAs(filePath);
    // ... snipped //
  }
}

我真的不需要存储上传的excel文件。无论如何我可以不保存地处理它吗?

注意:ImportFromExcel类只是一个模型,基本上是:

  public class ImportFromExcel
    {
        [Required(ErrorMessage = "Please select an Excel file to upload.")]
        [DisplayName("Excel File")]
        public HttpPostedFileWrapper ExcelFile { get; set; }
    }

最有趣的部分是它包装了一个HttpPostedFileWrapper。

2 个答案:

答案 0 :(得分:3)

当然可以。正如Patko建议的那样,InputStream属性可以用于另一个流。例如,我为上传的xml文档执行此操作以与LINQ to XML一起使用:

XDocument XmlDoc = XDocument.Load(new StreamReader(viewmodel.FileUpload.InputStream))

干杯, 克里斯

答案 1 :(得分:2)

HttpPostedFileBase.InputStream属性看起来很有希望。您应该可以使用它并将数据保存到您需要的任何其他流中。