由于工作需要,最近开始学习Python;而项目上用到了永中文档转化服务,就想着要不要拿这个练练手。仰仗于Python的易用性,不一会就完成了。现在总结一下,作为二者的简略学习笔记。
1 上传文件再转化
查看了对应的接口文档后,先来上传一个文件试试:
def upload():
url = 'http://172.18.21.87:48080/fcscloud/file/upload'
header = {"Content-Type": "multipart/form-data"}
file = {"file": open('score.xlsx', 'rb')}
result = requests.post(url=url, files=file).json()
print(json.dumps(result, sort_keys=True, indent=2, ensure_ascii=False))
操作成功,文件已经上传,data里便是文件的相对路径了;知道返回数据之后,就可以再调用convert接口进行转化:
def upload():
url = 'http://172.18.21.87:48080/fcscloud/file/upload'
header = {"Content-Type": "multipart/form-data"}
file = {"file": open('score.xlsx', 'rb')}
result = requests.post(url=url, files=file).json()
return result['data']['data']
def convert(srcRelativePath):
url = 'http://172.18.21.87:48080/fcscloud/composite/convert'
data = {'convertType': 61, 'srcRelativePath': srcRelativePath}
result = requests.post(url=url, data=data).json()
print(json.dumps(result, sort_keys=True, indent=2, ensure_ascii=False))
if __name__ == '__main__':
convert(upload())
这边改动一下,把upload接口返回的成果,作为参数传给convert,而且指定convertType也便是转化类型(针对office文件可以用61),相同返回一个json成果。 json成果中包含了一些基本信息,如转化时间、文件信息、转化类型、及过错代码等等;而viewUrl便是文档在线预览的地址,复制到浏览器翻开看下
2 复合型接口
刚才是先上传文件,再进行转化的,有没有更简略的方法合二为一呢?永中文档转化服务就供给了这样的复合型接口:
def upload_and_convert():
url = 'http://172.18.21.87:48080/fcscloud/composite/upload'
header = {"Content-Type": "multipart/form-data"}
file = {"file": open('score.xlsx', 'rb')}
data = {"convertType": 61, #转化类型
"wmColor":"blue", #水印色彩
"wmContent":"永中文档转化服务", #水印内容
"wmSize":"50", #水印巨细
"wmRotate":0} #水印角度
result = requests.post(url=url, files=file, data=data).json()
# print(result)
print(result['data']['viewUrl'])
依据上文里展现里的json成果,就可以丰富场景和业务了,比如依据过错代码来判别是否转化成功等等,这边为了展现作用,暂时没有考虑一些异常,只取viewUrl预览;一起在参数中,额外加了一些水印相关参数,看看水印的作用如何:
3 针对在线文档的转化接口
考虑到现在很多文件都是在线的,而不手动上传,永中文档转化服务还供给了针对在线文档的转化接口:
def http_file():
url = 'http://172.18.21.87:48080/fcscloud/composite/httpfile'
data = {"convertType": 61,
'fileUrl': "http://172.18.21.87:48080/fcscloud/view/preview/gN-L5i-rqfV3L-5YwdyhbocM4AFZ1qLaNOfR58wqmPzq5yl6Ozaox5FtkOeT3U2dcGH7iZIGEkHe2cYS19931fYVW1WmGxqScQcqTmqfF4k0XJ0n9T43tS0XAWUC9i7ylCA8riwx8vqdy7cdU_MPpdgABhrxJFXkl6fhGj__qRG6-3WWebp0p1RxMpuuGaZNpYzDMjwIfyBsOskCvCMmx1Zm9_hzBCke2CNkWIw2a6lrQXYRDSmEwT8IHxRFsYnKfQ0RnNAc5xTKZVi4ovzMANI5IY9vfOIBLjZyTH4XSj9aAzvjNn69flAzLSbU4aGzgU3VyTFbTwIO3jgfWCPmDYBxOikkjBh7bji6xtunWsA=/"}
result = requests.post(url=url, data=data).json()
print(result['data']['viewUrl'])
相同只取viewUrl预览,在浏览器中拜访链接 如果呈现以下的过错,阐明无法下载到在线文件,想想这也很合理:如果都无法获取文件,又何如进行转化和预览呢?
4 小结
好了,关于永中文档转化的服务就先介绍到这。总的来说,接口调用简略,加上使用过程并不复杂,而且文件预览的作用也很好。当然,由于刚刚接触Python,有不足之处,还请各位大佬多多指教,哈。