मैं फ्लास्क में फ़ाइल सबमिशन के लिए this simple tutorial का पालन करने का प्रयास कर रहा हूं।क्यों 'request.files` खाली है?
print 'request.method', request.method
print 'request.args', request.args
print 'request.form', request.form
print 'request.files', request.files
एक परिणाम मैं निम्नलिखित मिल के रूप में::
<form action="" method="post" "enctype=multipart/form-data">
<table border="0" summary=""><tbody>
<tr>
<th>
<label for="image_file">Your image:</label>
</th>
<td>
<input type="file" id="image_file" name="image_file"></input>
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" value="Submit" />
<a href="/test_func">Cancel</a>
</td>
</tr>
</tbody></table>
</form>
फ़ॉर्म प्रविष्टि मैं निम्नलिखित तरीके से request
चर की सामग्री की जांच के बाद: मैं निम्न HTML फार्म का उपयोग फ़ाइलों को सबमिट करने के
request.method POST
request.args ImmutableMultiDict([])
request.form ImmutableMultiDict([('image_file', u'badge.gif')])
request.files ImmutableMultiDict([])
मुझे क्या समझ में नहीं आता कि request.files
खाली है। उपरोक्त उद्धृत ट्यूटोरियल के अनुसार मुझे फ़ाइल ऑब्जेक्ट (इसे सहेजने के लिए) प्राप्त करने के लिए file = request.files['file']
का उपयोग करने की आवश्यकता है।
मैं क्या गलत कर रहा हूं?
यदि वास्तव में आप जिस HTML का उपयोग कर रहे हैं, तो डबल-कोट 'enctype = 'के बाद आना चाहिए। अभी पूरी बात एक स्ट्रिंग है, इसलिए शायद यह फ़ाइल नहीं भेज रहा है, सिर्फ फ़ील्ड का नाम। – davidism