最近瞎玩,构建了一个项目,后来因为数据提交要通过程序来将历史数据迁移一下,因为历史数据使用的内容和新接口内容相同,但是结构完全不同了。
ps:这里接口提交的是一个图片文件,提交的方式是以图片二进制文件流的形式提交的。
废话少说,直接上代码:
def updateImage(self, filepath):
upload_url = "http://192.168.1.16:8999/upload/ueditor?action=uploadimage&encode=utf-8"
header = {"Cookie": "hu_food=06237f4bd64fdfe1e111e79f43953897#1"}
# 此处是重点!我们操作文件上传的时候,
# 把目标文件以open打开,然后存储到变量upfile里面存到一个字典里,注意这里的upfile不是随便起的,要看后台的接收数据的时候,使用的接收文件信息的key是如何定义的。一定要按照服务端的key来
files = {'upfile': open(filepath, 'rb')
}
upload_data = {"id": "WU_FILE_138",
"name": "749.jpg",
"type": "image/jpeg",
"lastModifiedDate": "Tue Jul 21 2020 17:31:42 GMT 0800 (中国标准时间)",
"size": "64269"}
##此处是重点!我们操作文件上传的时候,接口请求参数直接存到upload_data变量里面,
# 在请求的时候,直接作为数据传递过去
upload_res = requests.post(upload_url,
upload_data,
files=files,
headers=header)
return upload_res.content.decode()