直接使用http post的方式上传文件到SharePoint

昨天遇到一个问题,用户希望将一些系统自动生成的文件,上传到WSS 2.0的站点上。我第一反应是用web service 上传文件到站点上。因为wss 3.0里有这样的web service: Copy Web Service. 但仔细看了一WSS 2.0的SDK后,发现2.0竟然还没有提供这个web service. 很无奈,看来只能写一个自定义的web service了。这个具体可参考:How to: Magic with SharePoint 2003, uploading files using a Web service,写得很详细。

在Google的过程中,无意中得到一个收获,可直接使用Http post的方式,上传文件到站点里。 详情:Uploading Files to SharePoint Server 2007 from ASP.NET Web Applications by Using the HTTP PUT Method。经过测试,这种方式不支持wss 2.0,但对wss 3.0支持得还是比较好的。SharePoint 2010 没有试,个人直觉,应该是支持的。

转载于:https://www.cnblogs.com/ITHelper/archive/2011/06/23/2088021.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将文件上传到SharePoint,您可以使用SharePoint REST API。以下是使用PHP将文件上传到SharePoint的基本步骤: 1. 获取访问令牌或Cookie,以便进行身份验证。可以使用cURL或其他HTTP客户端来发送身份验证请求并接收响应。请注意,您需要具有上传文件的权限。 2. 构建REST API终结点以上传文件。例如,如果您要将文件上传到名为“Documents”的文件夹中,则终结点可能类似于: `https://<your-sharepoint-site>/_api/web/getfolderbyserverrelativeurl('/Documents')/files/add(url='filename.txt',overwrite=true)` 3. 使用cURL或其他HTTP客户端发送HTTP POST请求以上传文件。在请求中,您需要指定文件的二进制内容和文件名,以及其他所需的元数据。 以下是一个示例PHP代码,演示如何使用SharePoint REST API上传文件: ```php <?php // SharePoint site URL $siteUrl = "https://<your-sharepoint-site>"; // File path on local machine $filePath = "path/to/file.txt"; // File name to use on SharePoint $fileName = "file.txt"; // REST API endpoint for uploading files $endpoint = $siteUrl . "/_api/web/getfolderbyserverrelativeurl('/Documents')/files/add(url='" . $fileName . "',overwrite=true)"; // Read file contents $fileContents = file_get_contents($filePath); // Set HTTP headers $headers = array( "Content-Type: application/json;odata=verbose", "Accept: application/json;odata=verbose", "X-RequestDigest: <insert_request_digest_value_here>", "Content-Length: " . strlen($fileContents) ); // Send HTTP POST request with file contents $ch = curl_init($endpoint); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $fileContents); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($ch); curl_close($ch); // Parse JSON response $json = json_decode($response); if ($json && $json->d && $json->d->Name) { echo "File uploaded successfully: " . $json->d->Name; } else { echo "Failed to upload file"; } ?> ``` 请注意,上面的示例代码仅用于演示目的,您需要根据自己的情况进行修改和优化。特别是,您需要替换以下值: - `<your-sharepoint-site>` :您的SharePoint站点URL - `path/to/file.txt` :要上传的本地文件路径 - `file.txt` :要在SharePoint使用的文件名 - `<insert_request_digest_value_here>` :您的CSRF请求令牌或Cookie 此外,您还需要确保您的PHP服务器已启用cURL扩展,并且您有足够的权限向SharePoint上传文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值