2015-09-05 12 views
5

Tôi AMD mới để khuôn khổ Tornado và cố gắng để thực hiện một hình thức đơn giản để tải lên hình ảnh:Làm thế nào để nhận được hình thức POST đầu vào trong Tornado?

<form method="post" action="/uploads/{{uid}}/" enctype="multipart/form-data" > 
    <input type="file" name="file1" /> <br /> 
    Image info: <input type="text" name="alt" /> <br /> 
<input class="button" type="submit" value="Upload" class="button" /> 
</form> 

tôi có thể nhận được thành công tệp tin văn bằng:

if 'file1' in self.request.files: 
      if self.request.files['imgfile'][0]: 
        file1 = self.request.files['imgfile'][0] 

Tuy nhiên tôi không thể nhận được alt đầu vào. Tôi cố gắng alt = self.request.alt nhưng tôi nhận được lỗi này

AttributeError: 'HTTPServerRequest' object has no attribute 'alt' 

và khi tôi sử dụng alt = self.request.files['alt'], tôi nhận được:

KeyError: 'alt' 

Tôi chạy ra khỏi ý tưởng rất đánh giá cao sự giúp đỡ của bạn.

UPDATE:

tôi thấy rằng công trình này:

alt = self.get_argument('alt') 

Nhưng vẫn mở cho các giải pháp tốt hơn.

Trả lời

5

đang Thử dưới

self.get_body_argument("alt", default=None, strip=False) 
+0

Điều này cho phép: 'NameError: tên toàn cầu 'get_body_argument' không được định nghĩa ' – Jand

+0

oh xin lỗi tôi sửa nó – DreadfulWeather

+0

ok, sẽ xin hãy giải thích sự khác biệt giữa' get_body_argument' là những gì và 'get_argument'? Ngoài ra 'strip = False' làm gì? – Jand

Các vấn đề liên quan