En général, il existe deux façons de télécharger des images. Les fichiers d'image écrits dans la base de données doivent être convertis en format de flux binaire, qui occupe l'espace de base de données et convient au stockage d'un petit nombre d'images. qu'ils sont relativement sûrs et ne sont pas facilement évités par les utilisateurs.
Implémenté dans Struts2 (prendre le téléchargement d'image comme exemple)
1.La liste de code Fileupload.jsp est la suivante:
<% @ Page Language = "Java" import = "java.util. *" Pageencoding = "utf-8"%> <% @ taglib prefix = "s" uri = "/ struts-tags"%> <html> < Head> <Title> Le fichierplaoddemo dans Struts2 </Title> </ head> <body> <s: formulaire Form = "FileUpload" Method = "Post" ENCTYPE = "Multipart / Form-data" Name Space = "/"> <s: fichier name = "myfile" label = "myfile"> </ s: fichier> <s: textfield name = "légende" label = "légende"> </ s: textfield> <s: soumettre label = "soumettre "> / s: soumettre> </ s: form> </ body> </html>
2. La liste des fonctions de showupload.jsp est la suivante:
<% @ Page Language = "Java" import = "java.util. *" Pageencoding = "utf-8"%> <% @ taglib prefix = "s" uri = "/ struts-tags"%> <html> < Head> <Title> Showupload </Title> </ head> <body> <div style = "Padding: 3px; Border: Solid 1px #cccccc; Text-Align: Center"> <img src = "uploadima ges / <S : la propriété Value = "ImageFileName" /> "/> <Br /> <S: Property Value =" Légende "/> </ Div> / Body> </Html>
3. La liste de code de FileUploadAction.java est la suivante:
package com.chris; import java.io. *; import java.util.date; import org.apache.struts2.servletActionContext; import com.opensymphony.xwork2.active onSupport; public class fileUploadAction étend ActionSupport {private static final long SerialVersionUid = 572146812454L; private static final int buffer_size = 16 * 1024; // notez que lorsque le fichier est téléchargé, <s: file // est lié à MyFile, myFileContentType, myFileFileName.//so, myFileContentType, MyFilefi doit être fourni à la même chose Time Lename Method Private File MyFile; setMyFileContentType (String ContentType) {System.out .println ("File Type:" + ContentType); ; this .FileName = filename;} public void setMyfile (file myfile) {this .myfile = myfile;} public String getImageFileName () {ret imageFileName;} public String getCaption () {retry Urn Tenness;} public Void setcaption (String Denscontion de la chaîne ) {this .caption = légende;} private static void copy (file src, file dst) {try {inputStream in = null; outputStream out = null; try {in = new tampreredInputStream (new FileInputStream (src), bu ffer_size); out = new BufferedOutputStream( new FileOutputStream(dst), BUFFER_SIZE);byte [] buffer = new byte [BUFFER_SIZE];while (in.read(buffer) > 0 ) {out.write(buffer);}} finally {if ( null! = in) {in.close ();} if (null! = out) {out.close ();}}} catch (exception e) {e.printStackTrace ();}} private static string getExtention (String FileName) {int pos = filename.LastIndexof ("."); return filename.substring (pos);} @ overRidePublic String execUte () {imageFileName = new Date (). GetTime () + GetExtention (filename); file imageFile = nouveau fichier (servletActionContext.getServletContext (). getRealPath ("uploadImages") + "/" + imageFileName); copy (myFile, imagefile); return succès;}}Remarque: Pour le moment, uniquement pour la commodité de la mise en œuvre de l'action, le support Actions est hérité et la méthode Overrider Execute () est
Tout pojo dans Struts2 peut être utilisé comme action
4.Struts.xml La liste est la suivante:
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Struts public "- // APCACH SOFFACT Foundation // Dtd Struts Configuration 2.0 // en" "http: // strut s.apache.org / dtds / struts-2.0.dtd "> <rutts> <package name =" example "namespace =" / "extends =" stuts-default "> <action name =" fileupload "> <interceptor -ref name =" fileuploadstack " /> <Sult> /showupload.jsp </ result> </ action> </ package> </ Struts>
5. La liste web.xml est la suivante:
<? xml version = "1.0" Encoding = "utf-8"?> <web-app version = "2.4" xmlns = "http://java.sun.com/xml/ns/j2ee" xmlns: xsi = " http://www.w3.org/2001/xmlschema-instance"xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/ j2ee / web-app_2_4.xsd "> <filter> <filter-name> Struts-Cleanup </ filter-name> <filter-Class> org.apache.struts2.dispatcher.actionContextCleanup </filter-Class> </filter> <mapping-mappage> <filtre-name> Struts-Cleanup </filter-name> <Url-Pattern> / * </ url-Pattern> </filter-mapping> <filter> <filter-name> Struts2 </ fi LTER -NAME> <Filter-Class> org.apache.struts2.dispatcher.filterDispatcher </filter-Class> </filter> <Imlter-Mapping> <Filter-Name> Struts2 </filter-na ME> <Url-Pattern > / * </ url-stern> </filter-mapping> <welcome-file-list> <leen welcome-file> index.jsp </ bienvenue-file> </ welcome-file-list> </ web -pp>
Le contenu ci-dessus est tout le contenu de la façon de télécharger des images dans Java Struts2 introduit.