Эта статья поделилась с вами функцией загрузки файла под Struts2 для вашей ссылки. Конкретный контент заключается в следующем
Вот пример реализации функции загрузки изображения:
1. Структура проекта
2. web.xml
<? xml version = "1.0" Encoding = "utf-8"?> <web-app arser = "3.0" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema electsmance "/www.w3. xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> filter> <>-filter 2 <>-filter 2 <>- <filter-name> struts 2 </filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.strutspreareandexecutefilter </filter-mampation-mampation> <url-pattern>/*</filter-mame> struts 2 </filter> hame> <url-pattern>*</</</filter-p-patther> <url-pattern>*</*</</filter-patther> </url-pattern> </*</*</*</</filter-patther> </url-pattern> </filter-pattern> <url-pattern> </filter> writmpation> <url-pattern> <!-Страница приветствия настройки-> <Welcome-file-list> <selcload-file> index.jsp </wervedied-file> </werveding-file-list> <!-определение тайм-аута сеанса, единица в минутах-> <session-config> <session-timeout> 30 </session-timeout> </session-config> </web-app>> 30 </session-timeout> </session-config>
3. DownloadAction.java
пакет com.action; импортировать java.io.inputstream; Импорт org.apache.struts2.servletactionContext; Import Com.OpensyMphony.xwork2.ActionsUpport; Public Class DownloadAction расширяет ActionSupport {Private Static Long Long SerialVersionUID = 1L; // Путь файла частная строка пути; // метод Getter Attruity Public String getPath () {return Path; } // Метод Setter Path Attribute public void setPath (String Path) {this.path = path; } // return inputStream, ключевой метод для загрузки файлов public java.io.inputStream getDownloadfile () Throws Exception {inputStream in = servletactOntext.getServletContext (). GetResourCeasStream (getPath ()); вернуться; } public String execute () Throws Exception {return Success; }}4.Struts.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype struts public "-// Apache Software Foundation // DTD Struts Configuration 2.1 // en" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <! name = "struts.i18n.encoding" value = "utf-8" /> <!-Настройте максимальную емкость загруженных файлов, struts2 по умолчанию составляет 2M. Единица составляет 1b, 1kb = 1024b, 1m = 1024kb, 1m = 1024*1024b-> <constant name = "struts.multipart.maxsize" value = "1048576" /> <!-Настройка пакета в этом приложении и унаследовать пакет-пакет Struts-default-> <name пакета = "filedownload" /name " /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" /" " /" /" /" /" /" /" /" /" /" " /" /"" /" extends = "struts-default"> <name = "Загрузка"> <!-Установите параметры пути файла и передайте его в файл класса действий-> <!-<param name = "path">/download/a.jpg </param>-> <!-Поток файла загрузки, то есть изображение/изображение jpeg jpg/jpge jpg j name = "contentType"> image/jpeg </param> <!-Скачать метод обработки файлов-> <param name = "contentDisposition"> <!-вложение означает вложение, то есть окно диалога сохранения открывается во время загрузки, а имя файла представляет имя файла, отображаемое во время загрузки-> <!-Если вы не пишете вложение; или написать встроенный; Это означает inline, то есть вы попытаетесь открыть загруженный файл в браузере, а не загружать-> Attachment; filename = "a.jpg" </param> <!-Download File Output Definition-> <!-Значение, соответствующее элементу inputName, является загрузкой .file. В действии вы должны иметь соответствующий метод getDownloadFile ()-> <param name = "inputName"> downloadfile </param> <!-размер буфера загрузки-> <param name = "buffersize"> 1024 </param> </result> </action> </package> </struts>
5. index.jsp
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <%string path = request.getContextPath (); String basePath = request.getScheme ()+": //"+request.getServername ()+":"+request.getServerport ()+path+"/"; %> <! Doctype html public "-// w3c // dtd html 4.01 transitional // en"> <html> <Head> <base href = "<%= basepath%>" rel = "Внешний nofollow"> </title> </head> <body> <Center> Добро пожаловать на домашнюю панель, нажмите на ссылку ниже, нанесите ссылку на скачивание. href = "Загрузить.action? PATH = < %=" rel = "внешний nofollow" ./download/a.jpg " %>"> Скачать </a> </center> </body> </html>
6. Путь файла
Каталог загрузки должен быть создан заранее в проекте, и внутри него должен быть файл A.JPG, в противном случае загрузка потерпит неудачу.
7. Функциональный портал
После того, как проект опубликован на сервере, используйте браузер для доступа к index.jsp в проекте, нажмите на ссылку загрузки, и появится диалоговое окно «Загрузить».