我发现这个例子是使用Tornado Python Web框架将文件上传到服务器,但事实是没有一个例子开发了错误处理。如果我提交没有附加文件的表单,则会返回500错误。我们的想法是将上传文件字段设置为可选的非强制性。
https://github.com/vamsiikrishna/tornado-upload
http://technobeans.wordpress.com/2012/09/17/tornado-file-uploads/
你可以帮我一把吗?我想这可能有一个简单的解决方案,但我是一个新手。
提前致谢!
答案 0 :(得分:0)
谷歌我找到了这个解决方案:
import tornado.ioloop
import tornado.web
UPLOAD_FILE_PATH = '/path/to/files/'
class MainHandler(tornado.web.RequestHandler):
def get(self):
args = dict(username = 'visitor')
self.render('home.html', **args)
class UploadHandler(tornado.web.RequestHandler):
def post(self):
username = self.get_argument('username', 'anonymous')
if self.request.files.get('uploadfile', None):
uploadFile = self.request.files['uploadfile'][0]
filename = uploadFile['filename']
fileObj = open(UPLOAD_FILE_PATH+username+filename, 'wb')
fileObj.write(uploadFile['body'])
self.redirect('/')
application=tornado.web.Application([(r'/',MainHandler),('/upload', UploadHandler) ],
template_path = 'templates',
debug = True
)
if __name__=='__main__':
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
思考是在文件请求之前放置的以下条件:if self.request.files.get('uploadfile', None):