我将帖子请求发送到我的网站应用程序,我的问题始终是发送mediaName的完整路径,它应该只发送文件名,
这是我的帖子请求结果
send: 'POST /web/home/testPOST HTTP/1.1\r\nHost: www.my.dev.com\r\nContent-Length: 76\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nUser-Agent: python-requests/2.8.1\r\nConnection: keep-alive\r\ncontent-type: application/json\r\n\r\n'
send: '{"status": "sucsses", "mediaName": "/var/tmp/ftp/myvideo.mp4"}'
和out put应该像thsi
send: '{"status": "sucsses", "mediaName": "myvideo.mp4"}'
这是我的功能
def run(self):
while True:
status = "Failed"
#logger.debug("Queue size: %s" %(str(self.queue.qsize())))
(env, pfile) = self.queue.get()
logger.debug("Thread %s Received %s and %s" %(str(self.threadID), pfile, env))
metaName = "%s/%s.evs.xml" %(self.config[env]["upload_folder"], pfile)
mediaName = "%s/%s.mp4" %(self.config[env]["upload_folder"], pfile)
logger.info("Thread %s - Uploading metadata to %s FTP: %s" %(str(self.threadID), env, metaName))
try:
ur = uploadFTP(metaName, env)
status = "Success"
except:
logger.debug("Thread %s - Uploading of metadata %s to %s failed" %(str(self.threadID), metaName, env))
uploadComplete(pfile, status, env)
if status == "Success":
logger.info("Thread %s - Sleeping to allow cms to pick up xml" %(str(self.threadID)))
time.sleep(90)
logger.info( "Thread %s - Uploading mediafile %s to %s" %(str(self.threadID), mediaName, env))
ur = uploadFTP(mediaName, env)
status = "Success"
filename = os.path.basename(mediaName)
http_client.HTTPConnection.debuglevel = 1
logging.basicConfig(level=logging.DEBUG)
logging.basicConfig()
logging.getLogger().setLevel(logging.INFO)
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.INFO)
requests_log.propagate = True
url = 'http://www.my.dev.com/web/home/testPOST'
headers = {'content-type': 'application/json'}
payload = {'mediaName': mediaName ,'status': 'sucsses'}
r = requests.post(url, data=json.dumps(payload), headers=headers)
r.text
r.status_code
uploadComplete(pfile, status, env)
logger.info("Thread %s - Upload completed with status %s" %(str(self.threadID), status))
self.queue.task_done()
任何建议请。
答案 0 :(得分:1)
使用路径拆分方法:
filename = os.path.split(mediaName)
答案 1 :(得分:1)
违规行是
mediaName = "%s/%s.mp4" %(self.config[env]["upload_folder"], pfile)
如abhinav kumar在评论中所述。
如果您不想要文件夹路径,请不要将其放在中间名中。你可以用
mediaName = "%s.mp4" %(pfile,)
或只是
mediaName = pfile + ".mp4"