将图像文件发送到asp.net mvc4中的控制器操作方法

时间:2014-05-25 06:51:51

标签: asp.net-mvc-4

我正在尝试此代码通过从用户获取图像来调用控制器操作方法“NewReport”。当我尝试使用这个文件转换为二进制文件时,它确实调用了控制器函数但在控制器内部,它表示它为空。

<h2>Basic File Upload</h2>

@using (Html.BeginForm("NewReport", "Home", FormMethod.Post, new {enctype = "multipart/form-data"})
{
    <label for="file">Upload Image:</label>
    <input type="file" name="file" id="file" /><br><br>
    <input type="submit" value="Upload Image" />
    <br><br>
    @ViewBag.Message
}

1 个答案:

答案 0 :(得分:0)

您的操作方法不正确,不是发布给您的文件名,而是实际的字节内容。相反,尝试这样的事情:

public ActionResult NewReport(HttpPostedFileBase file)
{
    // Do something with the file here
    var fileName = file.FileName;
    var fileContentStream = file.InputStream;

    //Store the file on your webserver
    file.SaveAs(string.Format(@"c:\somefolder\{0}", file.FileName);

    return View();
}