بشكل عام ، هناك طريقتان لتحميل الصور. يجب تحويل ملفات الصورة المكتوبة إلى قاعدة البيانات إلى تنسيق دفق ثنائي ، والذي يحتل مساحة قاعدة البيانات ومناسبة لتخزين عدد صغير من الصور. أنها آمنة نسبيا ولا يمكن تجنبها بسهولة من قبل المستخدمين.
تم تنفيذه في Struts2 (مع تحميل الصورة كمثال)
1. قائمة رمز FileUpload.jsp هي كما يلي:
<٪@ page language = "java" import = "java.util.*" pageencoding = "utf-8" ٪> <٪@ taglib prefix = "s" uri = "/struts-tags" ٪> <html> < head> <title> the fileuplaoddemo in struts2 </title> </head> <body> <s: form action = "fileupload" method = "post" enctype = "multipart/form-data" name = "/"/"> <s: file name = "myfile" label = "myfile"> </s: file> <s: textfield name = "caption" label = "caption" ">/s: إرسال> </s: form> </body> </html>
2. قائمة وظيفة showupload.jsp هي كما يلي:
<٪@ 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 ؛ الحدود: solid 1px #cccccc : property value = "imagefilename"/> "/> <br/> <s: property value =" caption "/> </viv>/body> </html>
3. قائمة رمز FileUploadAction.java كما يلي:
package com.chris ؛ import java.io.*؛ import java.util.date ؛ import org.apache.struts2.ServletActionContext ؛ import com.opensymphony.xwork2.active onSupport ؛ public class fileuploadactaction يمتد Actionupport 572146812454L ؛ Private Static Final Buffer_size = 16 * 1024 ؛ // لاحظ أنه عند تحميل الملف ، <s: ملف // مرتبط بـ myfile ، myfileContentType ، myfileFilename.//SO Time's Lename Method File MyFile ؛ setMyFileContentType (string contentType) {system.out .println ("نوع الملف:" + contentType) ؛ ؛ هذا .filename = filename ؛} public void setMyFile (file myfile) {this .myfile = myfile ؛} سلسلة عامة getImageFilename () {ret imageFilename ؛} السلسلة العامة getCaption () ) {this .caption = caption ؛} نسخة void ثابتة خاصة (ملف src ، ملف dst) {try {input in = null ؛ outputStream out = null ؛ try {in = new BufferEdInputStream (fileInputStream (src) ، bu ffer_size) ؛ out = جديد bufferedoutputStream (fileOutputStream جديد (DST) ، buffer_size) ؛ byte [] buffer = new byte [buffer_size] ؛ null! = in) {in.close () ؛} if (null! = out) {out.close () ؛ filename) {int pos = fileName.lastIndexof (".") ملف جديد (servleTactionContext.getServletContext ().ملاحظة: في هذا الوقت ، فقط لراحة تنفيذ الإجراء ، يتم توريث الإجراءات
يمكن استخدام أي pojo في Struts2 كعمل
4.struts.xml قائمة كما يلي:
<؟ /dtds/struts-2.0.dtd "> <struts> <package name =" example "namepace ="/"extends =" struts-default "> <action name =" fileupload "> <interceptor -ref name =" fileuploadstack /> <stred> /showupload.jsp </sults> </sociate> </package> </struts>
5. قائمة web.xml كما يلي:
<؟ http://www.w3. J2EE/WEB-APP_2_4 <Filter-Mapping> <filter-name> struts-cleanup </filter-name> <url-pattern>/* </url-pattern> </filter-mapping> <ilter> <filter-name> struts2 </fi lter -Name> <lipter-class> org.apache.struts2 >/ *</url-pattern> </filter-mapping> <-list-file-list> <lispile-file> index.jsp </iship-file> </rip-file-list> </web-app>
المحتوى أعلاه هو كل محتوى كيفية تحميل الصور في Java Struts2 المقدمة لك.