[英]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.