1

我是 ASP.NET 和 MVC3 的新手,我正在尝试弄清楚如何上传文件并处理其内容,然后在视图中显示结果。

我可以使用以下视图代码成功上传文件:

@using (Html.BeginForm("Index", "Home", FormMethod.Post, new {
id="UploadForm",
enctype = "multipart/form-data"})){
<input type="file" name="file" id="Upload" size="60" />
<input type="submit" value="Submit" id="submitID" /> }

...以及以下控制器代码:

public ActionResult Index(HttpPostedFile file) {
if (file != null && file.ContentLength > 0) {
var filename = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/REPO"), fileName);
file.SaveAs(path); }
return RedirectToAction("Index"); }

我不太清楚上传文件后如何继续:我想执行服务器端代码来读取文件内容,然后在索引视图上显示结果。

所以这就是我想要做的:

  1. 重定向到某个进程(控制器操作)
  2. 将字符串中的文件名传递给操作
  3. 使用服务器端程序读取文件以产生输出(这部分已经用 C# 编码并从字符串输入输出字符串)
  4. 将该字符串传递回索引视图控制器以显示在页面上

我该怎么办?请明确回答,不要假设太多,因为正如我所说,我对 ASP.NET 和 MVC 相对较新(约 2 周)。谢谢你的帮助!

4

1 回答 1

0
public ActionResult Index(HttpPostedFile file)
    {
        if (file != null && file.ContentLength > 0)
        {
            var filename = Path.GetFileName(file.FileName);
            var path = Path.Combine(Server.MapPath("~/REPO"), fileName);
            file.SaveAs(path);

            string result = DoStuffWithFile(file);

            ViewBag.FileResult = result;

        }
        return View();
    }

然后在视图中使用@ViewBag.FileResult来获取字符串。

于 2012-07-11T13:46:09.593 回答