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中关于时间和日期函数的常用计算总结(time和datatime)
Mar 08 Python
跟老齐学Python之玩转字符串(3)
Sep 14 Python
Python简明入门教程
Aug 04 Python
python list是否包含另一个list所有元素的实例
May 04 Python
详解python中init方法和随机数方法
Mar 13 Python
flask框架路由常用定义方式总结
Jul 23 Python
关于PyTorch源码解读之torchvision.models
Aug 17 Python
Python API 操作Hadoop hdfs详解
Jun 06 Python
python 动态渲染 mysql 配置文件的示例
Nov 20 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
Dec 04 Python
用Python制作灯光秀短视频的思路详解
Apr 13 Python
如何基于python实现单目三维重建详解
Jun 25 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格式化工具Beautify PHP小小BUG
2008/04/24 PHP
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
php 代码优化的42条建议 推荐
2009/09/25 PHP
php array_map()数组函数使用说明
2011/07/12 PHP
php下载文件的代码示例
2012/06/29 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
javascript操作css属性
2013/12/30 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
js获取隐藏元素的宽高
2017/02/24 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
Python实现包含min函数的栈
2016/04/29 Python
Django数据库表反向生成实例解析
2018/02/06 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
python关于调用函数外的变量实例
2019/12/26 Python
Python Tornado核心及相关原理详解
2020/06/24 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
总经理助理岗位职责
2013/11/08 职场文书
小学新学期寄语
2014/04/02 职场文书
一份文言文检讨书
2014/09/13 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
加强作风建设心得体会
2014/10/22 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
python实现简单区块链结构
2021/04/25 Python