使用python脚本

时间:2016-11-17 22:23:45

标签: javascript python firefox sharepoint

使用python请求模块我执行多部分发布到sharepoint。该文件(在本例中为microsoft pptx文件)已成功上载。但是,当我尝试打开上传的文件时,文件存在问题。

error warning

repair warning

Powerpoint请求修复文件,当我按下修复程序时,文件确实打开了(我没有发现任何遗漏)。

我查看了请求标题,并注意到当帖子通过firefox浏览器发生时内容长度不同,而不是通过我的脚本发布帖子。

以下是firefox提交的标头: firefox request headers

以下是我的脚本提交的标头: script request headers

磁盘上的文件大小= 17,938,612

我的脚本的内容长度= 17,938,874

内容长度与firefox = 17,939,026

我想我不知道为什么内容长度不同,我怀疑是否因为这种差异而发生这种情况。

当我使用我的脚本提交帖子请求时,我不对数据进行编码并准备帖子请求:

postheader.update({'Accept':'application/json; odata=verbose','Content-Type':'application/json; odata=verbose', 'X-RequestDigest':formdigestvalue, 'binaryStringRequestBody':'true'})

filetoupload = {'file':(filename, open(filename, 'rb'), 'application/vnd.openxmlformats-officedocument.presentationml.presentation')}
posturl = projectConfig.sharepointurl + "/_api/web/getfolderbyserverrelativeurl('Shared Documents/release_doc/"+project+"')/files/add(url='"+filename+"', overwrite='true')"
response = requests.post(posturl, headers=postheader, files=filetoupload, cookies=postcookies)

更新:

我查看了使用我的脚本上传的文件,并且内容中仍附有以下标题:

--6ab0a06f1ddc432186194dd48355eac1
Content-Disposition: form-data; name="ZZZ Technology Guide.pptx"; filename="ZZZ Technology Guide.pptx"
Content-Type: application/vnd.openxmlformats-officedocument.presentationml.presentation
Expires: 0

<file content>
--6ab0a06f1ddc432186194dd48355eac1--

然而,通过firefox上传的文件没有这些标头。我认为我需要调用一个sharepoint函数(如果有一个REST API来执行此操作)来处理文件上传后的文件,或者python requests中是否有可以处理的方法关闭这些标题,如本文所述:stackoverflow post

0 个答案:

没有答案