কম্পিউটার

পাইথন সিজিআই প্রোগ্রামিং ব্যবহার করে আমরা কীভাবে একটি ফাইল আপলোড করব?


একটি ফাইল আপলোড করতে, এইচটিএমএল ফর্মটিতে অবশ্যই এনটাইপ অ্যাট্রিবিউট সেট থাকতে হবে মাল্টিপার্ট/ফর্ম-ডেটাতে। ফাইল টাইপ সহ ইনপুট ট্যাগ একটি "ব্রাউজ" বোতাম তৈরি করে৷

উদাহরণ

<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()
# Get filename here.
fileitem = form['filename']
# Test if the file was uploaded
if fileitem.filename:
   # strip leading path from file name to avoid
   # directory traversal attacks
   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\n
<html>
<body>
   <p>%s</p>
</body>
</html>
""" % (message,)

আপনি যদি ইউনিক্স/লিনাক্সে উপরের স্ক্রিপ্টটি চালান, তাহলে আপনাকে নিম্নলিখিতভাবে ফাইল বিভাজক প্রতিস্থাপনের যত্ন নিতে হবে, অন্যথায় আপনার উইন্ডোজ মেশিনে উপরের open() স্টেটমেন্টটি ঠিক কাজ করবে।

fn = os.path.basename(fileitem.filename.replace("\\", "/" ))



  1. পাইথন ব্যবহার করে কিভাবে PDF ফাইলগুলিকে Excel ফাইলে রূপান্তর করবেন?

  2. পাইথন ব্যবহার করে একটি ফাইলের অনুমতি কিভাবে পরিবর্তন করবেন?

  3. কিভাবে Python ব্যবহার করে একটি ফাইল মুছে ফেলতে হয়?

  4. কিভাবে Python ব্যবহার করে একটি ফাইলের নাম পরিবর্তন করবেন?