Expand your server from homeworks 2 and 3 to support POST requests allowing your users to upload
images and view all uploaded images.
Caution: There is a significant increase in difficulty from the first 3 assignments. Please start early and
manage your time accordingly.
Note: You may switch languages and start over with a new server at any time throughout the course. If
you do, you do not have to recreate the functionality from past assignments. For example, if you switch
languages for this assignment you do not have to add a cookie or a query string.
Objective 1: Text Form
Add an HTML form to your site with at least 2 inputs with different names and save submissions made
using this form to a file. Add a path to your server that hosts this file so users can see all the submissions
that have been made by any user.
Objective 2: Image Uploads
Add a form that allows image uploads to your site. It can be a separate form from objective 1 and this
form can have just 1 field which is the file upload (You can assume the user chooses a valid image).
Save each image with a unique filename using a naming scheme of your choosing.
It is ok if your site only handles one type of image (ex. Only png) and assumes that all uploads are in this
format. If you only support one format, be sure to specify which format is supported in your
For full credit your server must handle multiple uploads with the same filename and images of arbitrary
Objective 3: Image Downloads
For a specific path, host all images that have been uploaded.
For example, any request with a path starting with “/image” will serve an image and “/image/image1.png”
would serve image1.png. You may choose how to incorporate the image name in the path (ex. You could
use the path itself as in this example or use a query string).
Objective 4: HTML Templates
Add a GET path that will serve an HTML page that displays every image that has been uploaded.
To earn credit for this homework you must complete all 3 submissions.
1. Submit all the files of your site to AutoLab in a zip file
2. Submit your report to AutoLab as a txt file
3. Fill out the homework self-grading form