Sharepoint soap请求MTOM

Sharepoint soap请求MTOM,sharepoint,mtom,Sharepoint,Mtom,因此,我们需要使用iOS客户端将文件上载到sharepoint server。我们可以将文件大小上传到40kb,但问题是,我们传递的文件数据采用Base64编码,超过40kb的文件无法传递,因为我们无法在soap消息中传递大数据,因此我们尝试了各种可能的方法,并在web上提到了这些方法 我们只剩下使用MTOM发送数据 经过大量的实验和搜索,我认为MTOM是一种使用soap上传数据的方法。我们正在使用CopyIntoItemssharepoint服务进行上传 Soap请求看起来像 <"

因此,我们需要使用iOS客户端将文件上载到sharepoint server。我们可以将文件大小上传到40kb,但问题是,我们传递的文件数据采用Base64编码,超过40kb的文件无法传递,因为我们无法在soap消息中传递大数据,因此我们尝试了各种可能的方法,并在web上提到了这些方法

我们只剩下使用MTOM发送数据

经过大量的实验和搜索,我认为MTOM是一种使用soap上传数据的方法。我们正在使用CopyIntoItemssharepoint服务进行上传

Soap请求看起来像

   <"xmlns:soap12=\"http://schemas.xmlsoap.org/soap/envelope/\">\n"
                                     "<soap12:Body>\n"
                                     "<CopyIntoItems xmlns=\"http://schemas.microsoft.com/sharepoint/soap/\">\n"
                                     "<SourceUrl>%@</SourceUrl>\n"
                                     "<DestinationUrls>\n"
                                     "<string>%@</string>\n"
                                     "</DestinationUrls>\n"
                                     "<Fields>\n"
                                     "%@"
                                     "</Fields>\n"
                                     "<Stream>MY_FILE_DATA</Stream>\n"
                                     "</CopyIntoItems>\n"
                                     "</soap12:Body>\n"
                                     "</soap12:Envelope>\n"

使用HTTPPOST并开发HTTP处理程序来存储发布的数据怎么样

在Sharepoint()中设置http处理程序非常容易,在Process request方法中,您可以使用查询字符串获取所需的信息。 假设您创建了Upload.ashx处理程序

public void ProcessRequest(HttpContext context)
{
  var targetList = context.Request["targetList"];
  var targetFileName = context.Request["targetFn"];
  // Get the stream to content
  var stream = context.Request.GetBufferedInputStream();
  // Save the file somewhere
}

从客户端向
http://server/_layouts
/15/Upload.ashx?targetList=myFiles&…

谢谢Stefano。由于我们是在iOS(iPhone/iPad)上开发这个应用程序,所以不能真正使用MSDN或C#的类或API。如果你能解释一下我可以尝试在iOS中转换的步骤,我写的代码是针对服务器端(SharePoint)的。在客户端,它是简单的Http Post。如果您无法访问服务器端,则无法应用此解决方案。我们可以在服务器上进行此更改,但问题在于简单的HTTP post如何使用Sharepoint query CopyIntoItems?很抱歉,我无法测试代码(我目前没有Sharepoint开发环境)。你可以参考。有一个完整的代码示例。希望这有帮助。