gpt4 book ai didi

python - Openstack Rest API 将带有 python 的文件发送到 openstack 容器

转载 作者:行者123 更新时间:2023-11-28 18:35:30 24 4
gpt4 key购买 nike

我正在尝试使用 REST API 将视频文件上传到 Openstack 容器。这是我要上传到服务器的 Python 代码。

res = requests.put(publicURL+'/'+output_container_name+'/'+toUpload,
headers={'X-Auth-Token': token},
files={'file': open(toUpload,'rb')})

您在代码中看到的所有变量均已定义。事实上,我可以看到我的文件上传到容器中,但是当我下载它时,我无法播放视频。当我使用文本编辑器打开视频文件时,我在文件的开头和结尾看到了这些标题。

--0b2e78b52dad4b45a43575c1c42b0b9d
Content-Disposition: form-data; name="file"; filename="input_output.mp4"
.
.
. Normal video content
.
.
--0b2e78b52dad4b45a43575c1c42b0b9d--

如何去除文件中的这些 header ?

编辑:即使我手动删除标题,当我用 diff 检查它们时,文件中仍然存在一些差异。差异在视觉上是不可见的,行数相同,一切看起来都一样。

最佳答案

试试 Python OpenStack SDK。

pip install openstacksdk

上传文件的代码。

import sys

from openstack import connection
from openstack import profile
from openstack import utils

utils.enable_logging(True, stream=sys.stdout)

prof = profile.Profile()
prof.set_region(prof.ALL, "RegionOne")

conn = connection.Connection(
auth_url='https://my.identity.endpoint/v2.0/',
profile=prof,
username="my_username",
password="my_password")

c = conn.object_store.create_container(name='videos')
obj = conn.object_store.create_object(container=c.name,
name='input_output.mp4',
data=open('input_output.mp4', 'r'),
content_type='video/mp4')
print(obj)

更多可能也有帮助的信息:

关于python - Openstack Rest API 将带有 python 的文件发送到 openstack 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32786418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com