繁体   English   中英

如何在python中将图像传递给requests.post?

[英]How to pass image to requests.post in python?

抱歉,伙计们,我是 Django 的新手,我一直在上传图片。

我有一个用于图像上传的 REST_API。 我传递图像并在 API 内部使用request.FILES['fileToUpload']获取该图像。

现在我有一个外部 API,它代表我上传图像,该 API 在邮递员上运行良好。

这是该 API 的路径。

http://164.68.110.65/file_load.php

但是在姜戈。 我无法将图像传递给此 API。 我尝试了很多方法。

像这些。

 image = request.FILES['fileToUpload']
 temp = Image.open(image)
 byte_io = BytesIO()
 temp.save(byte_io, 'png')
 files = {'fileToUpload': byte_io.getvalue() }
 response = requests.post( self.URL, files=files)
 print(response.status_code, response.content, response.reason)

但它总是给我一个错误,即图像格式不匹配。

你能告诉我,在 python 请求中,我们应该如何传递我的request.FILES['file_name_any']图像或文件。

谢谢。 我将非常感谢您的青睐。

您的imageUploadedFileTemporaryUploadedFile ,它是File的子类。 所以你可以像任何其他File对象一样正常地.open()它:

with image.open('rb') as f:
    files = {'fileToUpload': f}
response = requests.post(self.URL, files=files)

无需通过先保存文件来绕道而行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM