O'Reilly logo

Java Servlet & JSP Cookbook by Bruce W. Perry

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 8. Uploading Files

Introduction

Web sites use the HTML form tag to allow users to submit files from their own filesystem for processing on the server. The form tag enables the uploading action with a nested input element that has a type attribute set to “file”. The form and input tag is specified using the syntax described in Recipe 8.1.

The HTTP request for file uploading uses a content type of "multipart/form-data”. The HTTP message that the user sends to the server by clicking the web page’s Submit button contains descriptive headers and the body of each uploaded file. Each of the uploaded files is separated by a specified boundary pattern (see the Content-Type header value in Example 8-1). Example 8-1 shows an abbreviated view of a “multipart/form-data” type request including the uploading of three very small files. To make this example more compact, I have removed some of the values from the Accept request header.

Example 8-1. An HTTP request message with three uploaded files
POST /home/upload.jsp HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg ...
Referer: http://localhost:8080/home/interact.html
Accept-Language: en-us
Content-Type: multipart/form-data; boundary=---------------------------7d33c11c6018e
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)
Host: localhost:9000
Content-Length: 541
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: JSESSIONID=7F6154184FFF3D1AE345E1F2FFF1A22E

-----------------------------7d33c11c6018e ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required