簡體   English   中英

Openstack Rest API將帶有python的文件發送到openstack容器

[英]Openstack Rest API send a file with python to a openstack container

我正在嘗試使用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--

如何擺脫文件中的這些標題?

編輯:即使我手動刪除標題,當我用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)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM