在python上按路径上载视频文件不工作
我试着用python上传视频文件,问题是即使我写了文件的路径,系统也找不到文件。我的代码如下:在python上按路径上载视频文件不工作,python,path,upload,python-requests,filepath,Python,Path,Upload,Python Requests,Filepath,我试着用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
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)
我尝试了很多方法,
比如os.path.abspath、os.path、os.path.dirname、os.path.basename、os.path.isfile、os.path.isbs、os.path.isdir
它仍然不起作用。即使我在代码中给出import os.path或import os,您也只是将路径作为字符串发送到服务器,而不是文件本身。您应该尝试以下方法:
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)
还要注意,您可能需要使用requests.Session()
才能处理cookie、访问令牌