I just had to call .save on form.fileName.file.save
myFile = secure_filename(form.fileName.file.filename)
form.fileName.file.save(PATH+myFile)
Question
In my forms.py file I have I have
class myForm(Form):
fileName = FileField()
In my views.py file I have
form = myForm()
if form.validate_on_submit():
fileName = secure_filename(form.fileName.file.filename)
In my .html file I have
{% block content %}
<form action="" method="post" name="simple" enctype="multipart/form-data">
<p>
Upload a file
{{form.fileName()}}
</p>
<p><input type="submit" value="Submit"></p>
</form>
{% endblock %}
and it seems to work when I hit submit but the file is not in any of the project directories.
Solution 3
I just had to call .save on form.fileName.file.save
myFile = secure_filename(form.fileName.file.filename)
form.fileName.file.save(PATH+myFile)
OTHER TIPS
Have you looked at this:
https://flask.palletsprojects.com/en/2.0.x/patterns/fileuploads/#uploading-files
You have to set a few configs such as UPLOAD_FOLDER etc. You also have to call the save() function which I don't see in your posted code for views.py.
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
On form.fileName.file, call '.save'.
filename = secure_filename(form.fileName.file.filename)
file_path = os.path.join(app.config['UPLOAD_FOLDER'], filename)
form.fileName.file.save(file_path)
Make sure to use secure_filename() to prevent users from putting in bad file names, such as "../../../../home/username/.bashrc".
Using os.path.join will generate the correct absolute path no matter what OS you are on.