我有一个流式播放mp3文件的服务器。它工作正常,但是,如果文件在路径名中有任何空格,则表示"找不到文件"。
我尝试过输入%20而不是空格但没有成功(实际上,它会自动执行,当它打印request.path时,所有空格都会在控制台上转换为%20)
我正在使用Twisted Matrix库。这是我使用的代码:
class playMP3(Resource):
isLeaf = True
def render_GET(self, request):
this=urlparse.urlparse(request.path)#scheme,netloc,path,query
root,ext=os.path.splitext(this.path)
filename=os.path.basename(request.path)
fileFolder=request.path.replace(filename,"")
self.serverRoot=os.getcwd()
print (request.path)
if ext==".mp3":
thisFile=File(self.serverRoot+request.path)
return File.render_GET(thisFile,request)
resource = playMP3()
factory = Site(resource)
reactor.listenTCP(8880, factory)
reactor.run()
答案 0 :(得分:0)
刚想通了。我所要做的就是request.path = request.path.replace('%20', ' ')