python-上传文件的几种方式

摘要:
from_requests_toolbelt importMultipartEncodeimportrequests#from_Data上传文件。请注意,参数名称propertyMessageXmldata=MultipartEncoder(fields={'propertyMessageXml':('filename',open('D:/123.xml','rb'),'text/xml')})请求
from requests_toolbelt import MultipartEncoder
import requests

# from_data上传文件,注意参数名propertyMessageXml
data = MultipartEncoder(fields={'propertyMessageXml': ('filename', open('D:/123.xml', 'rb'), 'text/xml')})
requests.post(url=url,data=data,headers={ 'Content-Type': data.content_type})

#raw上传文件
file = open('D:/123.xml','rb')
requests.post(url=url,data=file.read(),headers={'Content-Type':'text/xml'})

#binary上传文件
files={'file':open('D:/123.xml','rb')}
requests.post(url=url,files=files,headers={'Content-Type':'binary'})
import requests,glob
from urllib3 import encode_multipart_formdata

def upload_file(url=None,path=None,file_path=None):
    if path:
        for file_path in glob.glob(path + '*'): #批量文件
            data={}
            data['file'] = (file_path.split("/")[-1], open(file_path, 'rb').read())  # 名称,读文件
            encode_data = encode_multipart_formdata(data)
            res = requests.post(url, headers={'Content-Type':encode_data[1]},data=encode_data[0])
            return res.text
    if file_path:
        data = {}
        data['file'] = (file_path.split("/")[-1], open(file_path, 'rb').read())  # 名称,读文件
        encode_data = encode_multipart_formdata(data)
        res = requests.post(url, headers={'Content-Type': encode_data[1]}, data=encode_data[0])
        return res.text

免责声明:文章转载自《python-上传文件的几种方式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ubuntu16安装dockerCould not resolve view with name 'sys/login' in servlet with name 'dispatcher'下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

skynet源码分析之sproto使用方法

上一篇文章介绍sproto的构建流程(http://www.cnblogs.com/RainRill/p/8986572.html),这一篇文章介绍sproto如何使用,参考https://github.com/cloudwu/sproto。 A端主动给B端发送请求:调用request_encode对lua表进行编码,再用sproto.pack打包。 B端...

Starting Session of user root.

Sep 23 01:50:01 d systemd: Started Session 1475 of user root.Sep 23 01:50:01 d systemd: Starting Session 1475 of user root.Sep 23 01:50:01 d systemd: Started Session 1476 of user...

JavaScript按纯数字排序

  直接上代码: 1 var arr=[ 2 {name:"张散步",age:"23",sports:"篮球",number:"231123"}, 3 {name:"李斯的",age:"3",sports:"钢琴",number:"534563"}, 4...

[译]Selenium Python文档:二、初步开始

2.1.简单使用 如果已经安装好了Selenium Python,你就可以像下面这样编写Python代码来使用它了: from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Firefox() driver.get(...

如何用C++ 写Python模块扩展(一)

最近做一个小软件需要用到虚拟摄像头,在网上找了找虚拟摄像头软件 发现 Vcam 软件有个API 可以用,有API当然是最好的啦,但是这个API只有C++和C#的。都说 “人生苦短,得用python”能用Python解决的事情尽量别用C++,于是萌生了自己写个模块的想法。 值得庆幸的是之前研究过一段时间C++。 先贴两个python官方文档链接C API第三...

R语言入门:因子的使用

在R语言当中有因子这个特殊的数据结构,和别的编程语言不同,这个数据结构的主要目的是用来分类,计算频数和频率,在后期将R语言用于统计学当中将会十分受用。并且在绘图当中,我们使用同样的数据,将其转化为因子之后,在将这些数据放入绘制图像的函数当中,图像将会变得更加具有可读性。我们有两种方式来创建因子这个数据结构,第一种是在数据框当中自动创建,另一种方式是直接创建...