Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ASP.NET MVC 3上载文件_C#_Asp.net Mvc 3_File Upload - Fatal编程技术网

C# 使用ASP.NET MVC 3上载文件

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

我正在通过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 = "Success" });
}
我想公开一个基于REST的服务,允许用户上传文件。这里的技巧是,我还需要在每个文件中传递一些数据。然而,我不知道该怎么做。我找到的每个示例都只有一个文件。但我不确定

  • 如何接受附加数据
  • 从JQuery传递什么

  • 我传递的其他信息都是字符串。然而,在本文中,由于文件和一些字符串文本,我似乎将数据序列化为二进制格式。正因为如此,我不知道该怎么办。我说得通吗?

    行动的签名应该是: 公共操作结果MyAction(字符串用户名、字符串注释、HttpPostedFileBase文件1) {…}

    MVC绑定应该检查请求,并根据参数名称和类型将表单提交与操作相匹配

    客户端表单必须具有enctype=“multipart/form data”和方法POST


    JQuery只需使用$(“#form”).submit()发布表单。

    需要澄清的是,您发布的示例代码不是RESTfull。可能与我查看的“asp.net mvc中的JQuery ajax上载文件”重复。在我看来,这个问题不是重复的。如果我需要通过an$.ajax调用@user70192发布图像,你不能像重复文章中解释的那样使用ajax上传文件。因此,如果你必须这样做,你可以使用客户端上传插件。或者使用HTML5文件API。