網站首頁 編程語言 正文
因為工作需要,最近開始學習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,有不足之處,還請各位大佬多多指教,哈。
原文鏈接:https://juejin.cn/post/7094086748778528782
相關推薦
- 2023-07-04 spring boot security自定義認證
- 2022-08-17 Qt?QFrame的具體使用_C 語言
- 2022-09-19 Docker安裝Nacos詳細圖文教程_docker
- 2022-11-29 C#中泛型容器Stack<T>的用法并實現”撤銷/重做”功能_C#教程
- 2022-10-31 Python入門之字典的使用教程_python
- 2022-11-02 一文搞懂Golang中的內存逃逸_Golang
- 2023-06-18 C#?Marshal類基本概念和入門實例講解_C#教程
- 2022-07-02 運行react項目時出現Uncaught ReferenceError: process is no
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支