2013-07-15 2 views
1

Эй, я изо всех сил стараюсь иметь статический файл, доступный для загрузки с использованием Python и Tornado на моем сервере.Хостинг статический файл для загрузки Python Tornado

class templateHandler(tornado.web.RequestHandler): 
def get(self): 
    self.write(""" 
    <a href="/download"> Download </a> 
    """) 

application = tornado.web.Application([ 
(r"/", MyFormHandler), 
(r"/results", MyFormHandler), 
(r"/multi", MyFileHandler), 
(r"/upload",MyFileHandler), 
(r'/download',tornado.web.StaticFileHandler,{'path':"L:/Template.csv"}), 
(r'/template', templateHandler), 
(r"/SFA",SFAHandler), 
]) 

Может кто-нибудь помочь мне. Я не на 100% уверен в том, как работает обработчик файлов. Спасибо за помощь!

EDIT: Вот сообщение об ошибке:

ERROR:root:Uncaught exception GET /download (10.18.4.160) 
HTTPRequest(protocol='http', host='IPadress', method='GET', uri='/download', version='HTTP/1.1', remote_ip='IPaddress', body='', headers={'Connection': 'keep-alive', 'Accept-Language': 'en-US,en;q=0.5', 'Accept-Encoding': 'gzip, deflate', >'Referer': 'IPadress/template', 'Host': 'IPaddress', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20100101 Firefox/17.0'}) 
Traceback (most recent call last): 
    File "WEB.PY LOCATION", line >988, in _execute 
    getattr(self, self.request.method.lower())(*args, **kwargs) 
TypeError: get() takes at least 2 arguments (1 given) 
ERROR:root:500 GET /download (IPaddress) 0.00ms 
+0

Что происходит прямо сейчас? когда вы переходите в '/ download' в браузере? – dm03514

+0

Извините, забыл включить сообщение об ошибке. Отредактировано несколько IP-адресов и расположение web.py. Извините, его дерьмовый формат, не уверен, как это сделать, кроме форматирования блоков. Еще раз спасибо. –

ответ

1

Я думаю, что это связано с StaticFileHandler.get ожидает путь, как правило, это не служит ни одного файла, но вместо этого служит каталог файлов, и принимает имя файла я не раз копаться в этом прямо сейчас, но это sshould быть что-то вроде

(r'/download/(.*)',tornado.web.StaticFileHandler,{'path':"L:/"}),

теперь, если вы идете в

/download/Template.csv он должен служить ему. Извините, у меня нет времени прямо сейчас, чтобы посмотреть в источник, чтобы подтвердить

+0

ВНИМАНИЕ: root: 403 GET /download/Template.csv (127.0.0.1): \ Template.csv не находится в корневом статическом каталоге ВНИМАНИЕ: root: 403 GET /download/Template.csv (127.0.0.1) 16.00ms > его давая мне 403 запрещенную ошибку –

+0

отлично! Каковы ваши права L:/'? работает ли пользователь-торнадо с правами чтения с 'L: /'? – dm03514

+0

Я думаю, что нашел проблему в этом случае. Я думаю, что мой дистрибутив python установлен на другом диске ... Будет исправлен и обновлен завтра. Благодаря! –

Смежные вопросы