我整个周末都在为我的网站使用Messaging系统,因此用户可以在我的网站上发送和接收消息。
我已经制定了我的表模式,现在我可以向不同的用户发送基本信息。
现在,我正在处理附件部分。
如何创建我的操作方法以便他们接受文件?理想情况下,我想允许一个接受任意数量文件的控制器操作。一旦它们被传递到控制器动作,我将把它们保存在我的网络服务器上。
有人能告诉我一个控制器动作的例子,它接受文件作为参数的一部分吗?
答案 0 :(得分:3)
(省略错误处理。)
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult FilePost()
{
for (var i = 0; i < Request.Files.Count; i++)
{
var filebase = Request.Files.Get(i);
string filePath = Server.MapPath(Url.Content("~/Content/UserContent/"));
var fileName = // whatever
filebase.SaveAs(Path.Combine(filePath, fileName));
}
return RedirectToAction("Something");
}
答案 1 :(得分:2)
我相信您正在寻找的对象是Request.Files
示例摘录。
foreach (string file in Request.Files) {
var hpf = Request.Files[file];
if (hpf.ContentLength == 0)
continue;
myFileEntity.ContentType = hpf.ContentType;
myFileEntity.File = hpf.InputStream.ToByteArray();
myFileEntity.FileName = hpf.FileName;
}
答案 2 :(得分:2)
以下是关于如何Upload file with ASP.NET MVC
的帖子答案 3 :(得分:0)
在这篇文章中查看我的答案。