First, installation articles
JSPSmartupload is
Www.jspsmart.com The website developed a free use full-featured file upload download component, adapted to embed the JSP file that performs upload download operations. This component has the following features:
1, easy to use. Only writing three five lines of Java code in the JSP file, you can get upload or download it, it is convenient.
2, can control upload. With the objects provided by the JSPSmartupLoad component, you can get information on all uploaded files (including file name, size, type, extension, file data, etc.) for easy access.
3, can limit the uploaded documents in size, type and other aspects. This can be filtered off the files that do not meet the requirements.
4, flexible download. Only write two lines of code, you can turn the web server into a file server. No matter whether the file is in the directory of the web server or in any other directory, JSPSMARTupLoad can be downloaded.
5. Upload the file to the database, you can also download the data in the database. This function is for the mysql database because it is not versatile, so this article is not prepared to introduce this usage.
JSPSMARTUPLOAD components can be from
Www.jspsmart.com website free download, the name of the compressed package is jspsmartupload.zip. After downloading, use Winzip or WinRAR to extract it to Tomcat's WebApps directory (this article is described as an example of Tomcat Server). After decompression, change the subdirectory Web-INF in the WebApps / Jspsmartupload directory to all-in-case WEB-INF, so you can change the JSPSMARTupLoad class. Because Tomcat is sensitive to file name sensitive, it requires web applications related to the directory to Web-INF, and must be uppercase. Then restart Tomcat so that you can use the JSPSmartupload component in the JSP file.
Note that after the above method is installed, only the program in the WebApps / JSPSmartupLoad directory can use the JSPSMARTupload component, if you want to use all Web applications of the Tomcat server to use it, you must do the following:
1. Enter the command line status, switch the directory to the Tomcat's WebApps / JSPSMARTUPLOAD / Web-INF directory.
2. Run JAR packaging command: JAR CVF JSPSMARTUPLOAD.JAR COM
(You can also open the resource manager, switch to the current directory, compress all the files under the COM directory into jspsmartupload.zip with WinZip, and then rename the jspsmartupload.zip to jspsmartupload.jar files.)
3. Copy JSPSmartupload.jar to Tomcat's Shared / Lib Directory.
Second, related classes
(I) File class
This class wraps all the information for uploading the file. Through it, you can get the file name, file size, extension, file data, etc. of the upload file.
The File class mainly provides the following methods:
1, SaveAs effect: Save the file.
prototype:
Public void saveas (java.lang.string destfilepathname)
or
Public void saveas (java.lang.string destfilepathname, int optionsaveas)
Where DESTFILEPATHNAME is saved file name, Optionsaves is a saved option, which has three values, Saveas_Physical, SaveAs_Virtual, Saveas_Auto. SaveAs_physical indicates that the root directory of the operating system is saved as the file root directory, and saveas_virtual indicates that the root directory is saved by the root directory of the web application, and SaveAs_Auto means that the component is determined, and when the root directory of the web application exists When it chooses SaveAs_virtual, otherwise SaveAs_physical will be selected. For example, if the SaveAs ("/ UPLOAD / SAMPLE.ZIP", SaveAs_Physical) If the web server is installed in the C drive, the saved file name is actually C: /upload/sample.zip. And SaveAs ("/ upload / sample.zip", saveas_virtual) If the root directory of the web application is WebApps / JSPSmartupload, the saved file name is actually WebApps / JSPSmartupload / Upload / Sample.zip. SaveAs ("/ UPLOAD / SAMPLE.ZIP", SAVEAS_AUTO) If there is an UPLOAD directory in the web application root directory, its effect is the same as saveas ("/ upload / sample.zip", saveas_virtual), otherwise Saves ("/ UPLOAD / SAMPLE.ZIP ", SaveAs_physical).
Recommendation: For the development of web programs, it is best to use SaveAs_virtual to transplant.
2, ISMissing
Role: This method is used to determine if the user selects the file, that is, the corresponding form item is worthless. When the file is selected, it returns false. When the file is not selected, it returns True.
Prototype: public boolean ismissing ()
3, getfieldname
Role: Take the name of the form item corresponding to this uploaded file in the HTML form.
Protocol: public string getfieldname ()
4, getFilename
Role: Take the file name (excluding directory information)
Prototype: public string getFileName ()
5, getfilepathname
Role: Take a full name (with directory)
Prototype: Public String getFilePathname
6, getfileext
Role: Take a file extension (suffix)
Prototype: public string getfileext ()
7, getSize
Role: Take the length of the file (in bytes)
Prototype: public int getsue ()
8, GetBinaryData
Role: Take a byte of the file data in the file data to detect files.
Prototype: Public Byte GetBinaryData (int index). Among them, Index represents the displacement, its value is between 0 and GetSize () - 1.
(Ii) Files class
This class represents the collection of all uploaded files, which can be obtained by the number, size, etc. of the upload file. There are the following methods:
1, getCount
Role: Number of uploaded documents.
Prototype: public int getCount ()
2, getfile effect: obtain the file object file in the specified displacement (this is com.jspsmart.upload.file, not java.io.file, pay attention to distinguish).
Prototype: Public File GetFile (int index). Where index is a pointing, its value is between 0 and GetCount () - 1.
3, Getsize
Role: Take the total length of the upload file, which can be used to limit the amount of data amount uploaded.
Prototype: Public long getSize ()
4, getCollection
Role: Return all uploaded file objects in the form of Collection so that other application references, browse uploaded file information.
Prototype: Public Collection getCollection ()
5, getENUMERATION
Role: Return all uploaded file objects in ENUMERATION (enumeration) so that other applications browse uploaded file information.
Prototype: public enumeration getenumeration ()
㈢ Request class
This class is equivalent to the object Request in JSP built-in. Only, this class is provided because the value of the form item cannot be obtained through the Request object for the file upload form. It must be obtained by the Request object provided by the JSPSmartupLoad component. This class provides the following method:
1, getParameter
Role: Get the value of the specified parameter. When the parameter does not exist, the return value is NULL.
Prototype: Public String getParameter (String name). Where Name is the name of the parameter.
2, getParameterValues
Role: When a parameter can have multiple values, use this method to take the value. It returns a string array. When the parameter does not exist, the return value is NULL.
Prototype: public string [] getParameterValues. Where Name is the name of the parameter.
3, getParameternames
Role: Get all the names of all parameters in the Request object, used to traverse all parameters. It returns an enumerated object.
Prototype: public enumeration getParameterNames ()
㈣ SmartUPload class This class completes upload download work.
A. Upload and download shared methods:
There is only one: Initialize.
Role: Execute the initialization work of upload download, must be the first execution.
Prototype: There are multiple, mainly using this:
Public final void initialize (javax.servlet.jsp.pagecontext pagecontext)
Among them, PageContext is a JSP page built-in object (page context).
B. Uploading the method for use:
1, UPLOAD
Role: Upload file data. For upload operations, the first step is executed, and the second step is to perform this method.
Prototype: public void upload ()
2, Save
Role: Save all upload files to the specified directory and return the number of files saved.
Prototype: public int save (String destPathname)
And Public int Save (string destpathname, int option) where destPathname is a file saved directory, Option is saved, which has three values, Save_Physical, Save_Virtual and Save_AUTO. (Similar to the value of the SaveAs method of the FILE class) Save_physical indicates that the component saves the file to the directory of the operating system root to the root directory, save_virtual indicates that the file saves the file to the web application root directory as the file root directory. In the directory, Save_AUTO indicates automatic selection by the component.
Note: The effect of Save is equivalent to Save (Destpathname, Save_AUTO).
3, Getsize
Role: Take the total length of the upload file data
Prototype: public int getsue ()
4, getfiles
Role: Take all uploaded files, return to the Files object, can use the Files class's operation method to get information such as the number of uploaded files.
Prototype: public files getFiles ()
5, getRequest
Role: Take the Request object so that this object obtains the value of the upload form single parameter.
Prototype: public request getRequest ()
6, setallowedfileslist
Role: Set the file that allows uploading with a specified extension, and when the file name is not allowed during the upload, the component will throw an exception.
Protocol: public void setallowedfileslist (String allowedFilesList)
Among them, AllowedFileSlist is a comma-separated list of file extensions to allow uploaded file extensions. If you want to allow files that do not have extensions, you can use two comma. For example: SETALLOWEDFILSLIST ("DOC, TXT,") will allow files with DOC and TXT extensions and files without extensions.
7, setdeniedfileslist
Role: Used to limit the uploading files with specified extensions. If there is a file extension being restricted, the upload component will throw an exception.
Protocol: public void setdeniedFilesList (String DeniedFileSlist)
Among them, DeniedFileSlist is a comma-separated comma in the disabled file extension list. If you want to prohibit uploading files that do not have extensions, you can use two commas to represent. For example: SetDeniedFileSlist ("EXE, BAT,") will disable files with EXE and BAT extensions and files without extensions.
8, SetMaxFileSize
Role: Set the maximum length of each file to allow upload.
Prototype: Public void setMaxFileSize (Long MaxFileSize)
Among them, MaxFileSize is the maximum length of uploading for each file. When the file exceeds this length, it will not be uploaded.
9, SetTotalMaxFileSize
Role: Set the total length of the file that allows uploaded files to limit the amount of data amounts uploaded.
Prototype: Public void setTotalMaxFileSize (Long TotalmaxFileSize)
Among them, TotalmaxFileSize is the total length of the file that allows upload.
C. Download file common method
1, SetContentDisPosition
Role: Add data to the Content-Disposition Domain of the MIME file header. The JSPSMARTupLoad component automatically fills in the Content-Disposition Domain of the MIME File Header when the download is returned. If the user needs to add additional information, use this method. Prototype: Public void setContentDisPosition (String ContentDisPosition)
Where contentdisposition is the data to be added. If contentdisposition is null, the component will automatically add "attachment;" to indicate that the downloaded file as an attachment, the result is that the IE browser will prompt the file instead of automatically opening this file (IE browser usually according to the downloaded file The extension decides what operations are executed, the extension is that the DOC will open with the Word program, and the extension will open with the Acrobat program, and so on).
2, Downloadfile
Role: Download file.
Prototype: A total of three prototypes available, the first most common, the latter two file downloads for special circumstances (such as changing the content type, change the saved file name).
1 Public void Downloadfile (String SourceFilepathname)
Among them, SourceFilePathname is the file name (with directory file full name)
2 Public void Downloadfile (String SourceFilepathname, String ContentType)
Among them, SourceFilePathname is the file name (full name with directory) to download, and contentType is the content type (file type information in MIME format, can be identified by browser).
3 Public Void Downloadfile (String SourceFilepathname, String ContentType, String Destfilename)
Among them, SourceFilePathname is the file name (full name with the directory) to download, contentType is the content type (file type information in MIME format, can be identified by browser), DestFileName is the default saving file name.
Third, the file is uploaded
(1) form request
There are two requirements for the FORM form for uploading files:
1, Method Apply POST, Method = "POST".
2, increase attributes: encType = "multipart / form-data"
Below is an example of a Form form for uploading files: