我正在尝试此代码通过从用户获取图像来调用控制器操作方法“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
}
答案 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();
}