需求

flask以及djaogo都属于python Web框架。

由于没有找到flask框架http协议直接传文件的方法,django有一个方便的上传文件的方法,利用django框架实现Word转换为PDF的服务。

flask服务将Word docx文件发送给django服务,django将其转换为PDF之后再将PDF文件发送给flask,flask将PDF保存下来

flask:

import requests
from requests_toolbelt import MultipartEncoderdef word2pdf(wordpath):s = requestsurl='django服务地址'path_pdf = wordpathprint("图片路径:"+path_pdf)m = MultipartEncoder(fields={'path': path_pdf,'file': ('filename', open(wordpath, 'rb'), 'text/plain')})##将文件内容传输到django服务r = s.post(url, data=m, headers={'Content-Type': m.content_type})pdfpath = wordpath.rsplit('.', 1)[0] + '.pdf'##保存返回的文件内容with open(pdfpath, 'wb') as pdf:pdf.write(r.content)

django:

from django.http import HttpResponse
import os
base_dir = 'F:/Project/'
def word2pdf(request):if request.POST:global base_dirwordpath = request.POST.get('path')wordpath =base_dir + wordpathprint(wordpath)path = os.path.dirname(wordpath)if not os.path.isdir(path):os.makedirs(path)handle_uploaded_file(request.FILES['file'],wordpath)##将Word转换为PDFBASE_DIR = os.path.dirname(__file__)  ##project pathprint('haha base dir '+BASE_DIR)cmd = BASE_DIR + 'Docx2PDF.exe ' + wordpathos.system(cmd)##将PDF文件传输给flaskpdfpath = wordpath.rsplit('.', 1)[0] + '.pdf'print('pdf路径:'+pdfpath)f = open(pdfpath, 'rb')return HttpResponse(f.read(),content_type='text/plain')#返回文件时,HttpResponse适合小文件,当文件过大时,可以采用以下方法#response = StreamingHttpResponse(file_iterator(pdfpath))#return response##接收Word文件
def handle_uploaded_file(word,path):destination = open(path, 'wb+')for chunk in word.chunks():destination.write(chunk)destination.close()

python服务之间互传文件相关推荐

  1. Ubuntu开启FTP服务方法(Ubuntu和Windows之间互传文件需要开启——服务器端)

    目录 Ubuntu开启FTP服务步骤: Ubuntu开启FTP服务步骤: 工作中Ubuntu和Windows之间互传文件,需要服务器端(Ubuntu)开启FTP服务,客户端(Windows)安装Fil ...

  2. 【文件传输】FileZilla配置(在服务器和客户端之间互传文件的相关配置)

    [文件传输]FileZilla配置(在服务器和客户端之间互传文件的相关配置) 01 需求 1:FileZilla客户端 2:FileZilla服务器端 3:至少两台操作系统 02 说明 1:博主的物理 ...

  3. iphone与android传文件,安卓与苹果手机之间互传文件的方法教程

    一直以来,很多的app都是分为安卓和IOS两个版本,在使用上,两个平台之间很多功能都不能跨平台使用.比如大家在玩游戏时充值的东西,在苹果充值之后,同一个账号转到安卓手机上玩,那些东西都是不能迁移进来的 ...

  4. iphone 传android,安卓和苹果手机怎么互传文件_安卓与苹果手机之间互传文件的方法教程_3DM手游...

    一直以来,很多的app都是分为安卓和IOS两个版本,在使用上,两个平台之间很多功能都不能跨平台使用.比如大家在玩游戏时充值的东西,在苹果充值之后,同一个账号转到安卓手机上玩,那些东西都是不能迁移进来的 ...

  5. 本机与虚拟机WIN7之间互传文件

    由于u盘丢了,本地和虚拟机win7之间传文件成了问题. 在网上搜vm本地和虚拟机磁盘文件共享,参考地址:https://zhidao.baidu.com/question/92243282228861 ...

  6. vm 虚拟服务器 文件上传,vmware虚拟机怎么和主机之间互传文件?

    在使用Windows 10工作时会遇到形形色色的问题,比如虚拟机需要与主机之间互传文件.那么如何进行设置呢?下面小编与你分享具体步骤和方法. 工具/材料 Windows 10操作系统 操作方法 01启 ...

  7. iphone android互传文件夹,安卓和苹果手机怎么互传文件_安卓与苹果手机之间互传文件的方法教程_3DM手游...

    一直以来,很多的app都是分为安卓和IOS两个版本,在使用上,两个平台之间很多功能都不能跨平台使用.比如大家在玩游戏时充值的东西,在苹果充值之后,同一个账号转到安卓手机上玩,那些东西都是不能迁移进来的 ...

  8. Mac 和 Android 手机之间互传文件,这四种方法简单高效!

    在Windows上,我们常常需要用USB数据线将安卓手机连接到电脑上,然后在手机和电脑之间传输各种文件.但是这种方法对Mac电脑就不怎么起作用了.由于OS X系统的特殊性,许多用户都不知道如何顺利地将 ...

  9. scp命令在linux和windows之间互传文件

    为了进行系统维护操作,有时需要再windows和linux或Unix系统之间互传文件,虽然有很多工具可以实现该功能,但我还是觉得命令行来的方便快捷, 起初使用linux的scp命令,总是不成功,网上也 ...

最新文章

  1. Tungsten Fabric SDN — 网络协议
  2. java final 变量 回收_在Java中将final用于变量会改善垃圾回收吗?
  3. jQuery最佳实践
  4. CodeForces - 1440E Greedy Shopping(线段树)
  5. Redux初学者指南
  6. pytorch查看loss曲线_pytorch loss总结与测试
  7. oracle 检查链接数,oracle连接数检查
  8. oracle+性能负载查看,Oracle 11g数据库重放教程(二):负载重放基本实例讲解-性能调优-Oracle频道-中国IT实验室...
  9. k2p路由器搭建php,搭建ngrok服务器!!给k3.k3c.K2.k2p路由器使用!!详细教程!!!...
  10. cf Educational Codeforces Round 77 D. A Game with Traps
  11. 人性观察,人类关系的基石
  12. CSS3 3D立体旋转
  13. attr 与prop 的区别
  14. SPA项目搭建及嵌套路由
  15. [计算机漫谈]网络初步:一个分组的生命历程
  16. 关于eclipse项目中项目上直接出现大红感叹号的问题
  17. MFC CString 长度取得
  18. 雅思口语的具体步骤和时间安排是什么样的?
  19. 移动联通电信2G3G4G网络速度——无线蜂窝技术:CDMA2000、1x/EVDo、GSM、EDGE、TD-SCDMA、HSPA、WCDMA、HSPA、TD-LTE 速度
  20. unity 多个物体围绕一个点生成圆形状

热门文章

  1. 基于zynq7100的OV5640摄像头照相机实验,提供工程源码和技术支持
  2. h5优秀控件_推荐六款炫酷的HTML5效果插件
  3. 网上采购android智能手机,在这里您可以订购 Sony Android智能手机
  4. 5G赋能智慧城市白皮书 附下载地址
  5. poi填充word(poi-tl)
  6. 物联卡查询流量_电信物联卡官网是多少?如何快速查询流量信息?
  7. Deterctron2 训练自己的数据集
  8. 小程序IOS页面下拉回弹效果
  9. 一加6html查看程序,一加6T屏幕指纹体验对比:不仅快,而且全
  10. 什么样的人适合学UI设计?