Upload image via FTP by form in Flask | Python
In this article, we will learn how to upload an image via FTP using a form in a Flask application with Python.
First, let’s create a simple Flask application with a form to upload an image.
“`python
from flask import Flask, render_template, request
import ftplib
app = Flask(__name__)
@app.route(‘/’)
def index():
return render_template(‘index.html’)
@app.route(‘/upload’, methods=[‘POST’])
def upload():
file = request.files[‘image’]
filename = file.filename
ftp = ftplib.FTP(‘ftp.example.com’)
ftp.login(‘username’, ‘password’)
with open(filename, ‘rb’) as f:
ftp.storbinary(‘STOR ‘ + filename, f)
return ‘Image uploaded successfully’
if __name__ == ‘__main__’:
app.run()
“`
Now, let’s create the HTML form for uploading the image.
“`html
Upload Image
“`
In the Flask application, we have defined two routes – ‘/’ for rendering the form and ‘/upload’ for handling the form submission. The ‘upload’ route processes the form data and uploads the image to an FTP server using the ftplib module.
When a user selects an image file and submits the form, the image is uploaded to the FTP server with the specified credentials.
Once the image is successfully uploaded, the user will see the message ‘Image uploaded successfully’.
Now you have learned how to upload an image via FTP using a form in a Flask application with Python. You can further enhance this functionality by adding validation, error handling, and additional features as per your requirements.
Very helpful! Thanks a lot!
Support by hitting 2 buttons! Like and Subscribe 👏