[FIXED] I can't find where to upload the files or make sure the code works


I uploaded several files using the following codes. But I don’t know how to call and use those files. Or where are these files stored?

In the following code snippet, I request the user to upload a file and I want to read those files after converting them to .csv format and save the information on a chart. But I don’t know where my files are saved and I can’t find the folder path.

from time import time
from xml.dom.minidom import DocumentType
import plotly.graph_objects as go
import pandas as pd
import os 
from flask import Flask, flash, request, redirect, url_for
from werkzeug.utils import secure_filename # is explained a little bit later

upload_folder = '/path/to/the/uploads'   #is where we will store the uploaded files
allowed_extensions = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'} # is the set of allowed file extensions
app = Flask(__name__)
app.config['upload_folder'] = upload_folder

def allowed_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1].lower() in allowed_extensions

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        # check if the post request has the file part
        if 'file' not in request.files:
            flash('No file part')
            return redirect(request.url)
        file = request.files['file']
        # If the user does not select a file, the browser submits an
        # empty file without a filename.
        if file.filename == '':
            flash('No selected file')
            return redirect(request.url)
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            return redirect(url_for('download_file', name=filename))

I assume that there is no connection between these two pieces of code. How can I make sure that the connection is established?

<!DOCTYPE html>
    <meta charset='utf-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <title>File Upload</title>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <link rel='stylesheet' type='text/css' media='screen' href='main.css'>
    <script src='main.js'></script>
<div class="container">
    <div class="Headers">
        <h1> Upload File </h1>
        <form method="POST" action="" enctype="multipart/form-data">
            <p><input type="file" name="file"></p> 
            <p><input type="submit" value="Submit"></p>


In the following line is where the file is saved

file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

Therefore, you are saving the file to whatever this path is


Unless you are hiding the name of your file for the purpose of the question you currently have this set as '/path/to/the/uploads' which will not work, you need to set it as an actual path in your directory, I assume you copied this from somewhere and forgot to change it.

If you create a folder called uploads in your root directory then you could change it to

upload_folder = '/uploads'

The the file will be uploaded into that folder. With Flask it is common to have a folder called static for storing things like uploads. If you have that then you could change it to upload_folder = '/static/uploads' , but the idea is the same.

Answered By – MarcusWilliams

Answer Checked By – Candace Johnson (Easybugfix Volunteer)

Leave a Reply

(*) Required, Your email will not be published