কম্পিউটার টিউটোরিয়াল

পাইথন CGI প্রোগ্রামিং-এ ফাইল আপলোড কীভাবে করবেন?


ফাইল আপলোড করতে HTML ফর্মে enctype এট্রিবিউট multipart/form-data সেট করতে হয়। file টাইপের ইনপুট ট্যাগ একটি "Browse" বাটন তৈরি করে।

উদাহরণ

<html>
<body>
  <form enctype="multipart/form-data" action="save_file.py" method="post">
    <p>File: <input type="file" name="filename" /></p>
    <p><input type="submit" value="Upload" /></p>
  </form>
</body>
</html>

আউটপুট

উপরের কোডের ফলাফল:

File: Choose file Upload

ফাইল আপলোড হ্যান্ডেল করার জন্য save_file.py স্ক্রিপ্ট:

#!/usr/bin/python
import cgi, os
import cgitb; cgitb.enable()
form = cgi.FieldStorage()
# ফাইলনেম পাওয়া
fileitem = form['filename']
# ফাইল আপলোড হয়েছে কিনা চেক
if fileitem.filename:
    # লিডিং পাথ স্ট্রিপ করে ডিরেক্টরি ট্রাভার্সাল অ্যাটাক প্রতিরোধ
    fn = os.path.basename(fileitem.filename)
    open('/tmp/' + fn, 'wb').write(fileitem.file.read())
    message = 'The file "' + fn + '" was uploaded successfully'
else:
    message = 'No file was uploaded'
print """\
Content-Type: text/html
<html>
<body>
  <p>%s</p>
</body>
</html>
""" % (message,)

Unix/Linux-এ রান করলে ফাইল সেপারেটর রিপ্লেস করতে হয়, উইন্ডোজে উপরের open() স্টেটমেন্টই ঠিক কাজ করবে।

fn = os.path.basename(fileitem.filename.replace("\\", "/"))
  1. পাইথনে PDF ফাইল এক্সেল ফাইলে কনভার্ট করা

  2. পাইথনে ফাইলের পারমিশন পরিবর্তন করার পদ্ধতি

  3. পাইথনে ফাইল ডিলিট করার পদ্ধতি

  4. পাইথনে ফাইল রিনেম করার পদ্ধতি