Sharepoint soap请求MTOM
因此,我们需要使用iOS客户端将文件上载到sharepoint server。我们可以将文件大小上传到40kb,但问题是,我们传递的文件数据采用Base64编码,超过40kb的文件无法传递,因为我们无法在soap消息中传递大数据,因此我们尝试了各种可能的方法,并在web上提到了这些方法 我们只剩下使用MTOM发送数据 经过大量的实验和搜索,我认为MTOM是一种使用soap上传数据的方法。我们正在使用CopyIntoItemssharepoint服务进行上传 Soap请求看起来像Sharepoint soap请求MTOM,sharepoint,mtom,Sharepoint,Mtom,因此,我们需要使用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开发环境)。你可以参考。有一个完整的代码示例。希望这有帮助。