发布请求仅采用完整文件路径而不是文件名

时间:2015-12-14 06:53:35

标签: python python-2.7

我将帖子请求发送到我的网站应用程序,我的问题始终是发送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()

任何建议请。

2 个答案:

答案 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"
相关问题