python 使用poster模块进行http方式的文件传输到服务器的方法


Posted in Python onJanuary 15, 2019

这几天帮内部人员做一个文件传输的小工具,要用http的方式,在用django搭建了个小框架之后,如何进行传输,特别是大文件的传输,成为主要问题。经过查资料,最后选择了通过poster这个模块来进行文件的传输,方式如下:

from poster.encode import multipart_encode
from poster.streaminghttp import register_openers
import urllib2
def upload_file(url,upload_file_path,filename):
 register_openers()
 datagen, headers = multipart_encode({"file": open(upload_file_path, "rb"),"type":"uploadFile","filename":filename})
 request = urllib2.Request(url, datagen, headers)
 return urllib2.urlopen(request).read()

poster的用法可以参考官方文件:点击打开链接

其中,url为服务器的接收url,upload_file_path 为文件的绝对路径,filename是文件名称,当然这里我只是贴了上传文件的代码,认证方式可以根据自己的需要进行补充。这个代码放在客户端上,当接收到服务端要上传的文件时,将文件上传给服务端。

服务端在接收到这个文件流时,文件数据会保存在request的FILE信息中,可以通过这样的方式进行接收:

with open(full_path,'wb+') as f:
 for chunk in request.FILES.get('file').chunks():
 f.write(chunk)

full_path为保存的路径。

以上这篇python 使用poster模块进行http方式的文件传输到服务器的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
Jan 20 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
python实现数据库跨服务器迁移
Apr 12 Python
Python一句代码实现找出所有水仙花数的方法
Nov 13 Python
Python实现通过解析域名获取ip地址的方法分析
May 17 Python
python Tkinter的图片刷新实例
Jun 14 Python
基于python判断目录或者文件代码实例
Nov 29 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
Dec 10 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
Jan 12 Python
python字典key不能是可以是啥类型
Aug 04 Python
Python request post上传文件常见要点
Nov 20 Python
编写python程序的90条建议
Apr 14 Python
Python3中lambda表达式与函数式编程讲解
Jan 14 #Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 #Python
使用CodeMirror实现Python3在线编辑器的示例代码
Jan 14 #Python
python 根据时间来生成唯一的字符串方法
Jan 14 #Python
python ipset管理 增删白名单的方法
Jan 14 #Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 #Python
在python 不同时区之间的差值与转换方法
Jan 14 #Python
You might like
解析如何用php screw加密php源代码
2013/06/20 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
简单理解PHP的面向对象编程方式
2016/05/17 PHP
为jQuery增加join方法的实现代码
2010/11/28 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
JS定义回车事件(实现代码)
2013/07/08 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
nodejs multer实现文件上传与下载
2017/05/10 NodeJs
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
2020/02/10 Javascript
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
Vue父子组件传值的一些坑
2020/09/16 Javascript
[16:19]教你分分钟做大人——风暴之灵
2015/03/11 DOTA
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Python if语句知识点用法总结
2018/06/10 Python
对python requests的content和text方法的区别详解
2018/10/11 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
2020/06/05 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
2012/12/28 HTML / CSS
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
怎么样写好简历中的自我评价
2013/10/25 职场文书
办公室驾驶员岗位职责
2013/11/15 职场文书
餐饮收银员岗位职责
2014/02/07 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
婚前财产协议书范本
2014/10/19 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python