C# 使用ASP.NET MVC 3上载文件
我正在通过ASP.NET MVC 3公开一些基于REST的服务。这些服务将通过JQuery和Windows Phone Silverligh应用程序提供。我知道如何与典型服务交互。例如,我现在有如下的例子:C# 使用ASP.NET MVC 3上载文件,c#,asp.net-mvc-3,file-upload,C#,Asp.net Mvc 3,File Upload,我正在通过ASP.NET MVC 3公开一些基于REST的服务。这些服务将通过JQuery和Windows Phone Silverligh应用程序提供。我知道如何与典型服务交互。例如,我现在有如下的例子: [AcceptVerbs(HttpVerbs.Post)] public ActionResult AddComment(string username, string comment) { // Do stuff return Json(new { message = "Succe
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddComment(string username, string comment)
{
// Do stuff
return Json(new { message = "Success" });
}
我想公开一个基于REST的服务,允许用户上传文件。这里的技巧是,我还需要在每个文件中传递一些数据。然而,我不知道该怎么做。我找到的每个示例都只有一个文件。但我不确定
我传递的其他信息都是字符串。然而,在本文中,由于文件和一些字符串文本,我似乎将数据序列化为二进制格式。正因为如此,我不知道该怎么办。我说得通吗?行动的签名应该是: 公共操作结果MyAction(字符串用户名、字符串注释、HttpPostedFileBase文件1) {…} MVC绑定应该检查请求,并根据参数名称和类型将表单提交与操作相匹配 客户端表单必须具有enctype=“multipart/form data”和方法POST
JQuery只需使用$(“#form”).submit()发布表单。需要澄清的是,您发布的示例代码不是RESTfull。可能与我查看的“asp.net mvc中的JQuery ajax上载文件”重复。在我看来,这个问题不是重复的。如果我需要通过an$.ajax调用@user70192发布图像,你不能像重复文章中解释的那样使用ajax上传文件。因此,如果你必须这样做,你可以使用客户端上传插件。或者使用HTML5文件API。