2017-01-12 5 views
1

私は、pythonを使用してビデオファイルをアップロードしようとしましたが、ファイルのパスを書き込んでもシステムがファイルを見つけることができません。私のコードは次のようである:私が試したpython上のパスでビデオファイルをアップロードできません

import os 
import requests 

#step 1 
host = 'https://blablabla.com' 

test = { 
    "upload_phase" : "start", 
    "file_size" : 1063565 
} 

params = { 
    "access_token":my_access_token, 
    "fields":"video_id, start_offset, end_offset, upload_session_id", 
} 

vids = requests.post(host, params=params, data=test) 
vids = vids.json() 

try: 
    video_id= vids["video_id"], 
    start_offset= vids["start_offset"], 
    end_offset= vids["end_offset"], 
    upload_session_id= vids["upload_session_id"] 
except: 
    pass 

print(vids) 

############################################################################### 
#step 2 
############################################################################### 
test = { 
    "upload_phase" : "transfer", 
    "start_offset" : start_offset, 
    "upload_session_id": upload_session_id, 
    "video_file_chunk": os.path.realpath('/home/def/Videos/test.mp4') 
} 

params = { 
    "access_token":my_access_token, 
    "fields":"start_offset, end_offset", 
} 

vids = requests.post(host, params=params, data=test) 
vids = vids.json() 

try: 
    start_offset= vids["start_offset"], 
    end_offset= vids["end_offset"] 
except: 
    pass 

print(vids) 

多くの方法は、like os.path.abspath, os.path, os.path.dirname, os.path.basename, os.path.isfile, os.path.isabs, os.path.isdirそれはまだ動作しませんです。でも、私はimport os.path or import osを与える。

答えて

0

コードでは、ファイルへのパスをサーバーへの文字列として送信しますが、ファイル自体は送信しません。また、Cookieを処理できるようにrequests.Session()を使用する必要があるかもしれないことに注意してアクセストークン...

+0

それは働いて、そんなに氏@Anderssonに感謝

my_file = {'file_to_upload': open(os.path.realpath('/home/def/Videos/test.mp4'),'rb')} # You should replace 'file_to_upload' with the name server actually expect to receive # If you don't know what server expect to get, check browser's devconsole while uploading file manually vids = requests.post(host, params=params, files=my_file) 

:あなたのような何かを試してみてください –

関連する問題