Javaweb файл скачать
Не говорите загрузку с тегом <a>, это откроет файл вместо загрузки
Например:
<a href = "e: /mydesktop/37fecd65330184de67d419a8d02e7081.jpg"> Скачать </a>
Если я напишу таким образом, браузер откроет изображение напрямую, если это не файл, который не может быть открыт браузером
Поэтому нам все еще нужно использовать саму Java для чтения и записи файлов для загрузки файлов
<a href = "downloadfile? Filename = <S: свойство value = 'document_filename'/>"> загрузка </a>
пакет com.cpsec.tang.chemical.action; import java.io.file; import java.io.fileinputstream; импорт java.io.filenotfoundexception; импорт java.io.fileoutputstream; import java.io.ioexception; импорт java.io.InputStream; importStream; ImportStream; ImportStream; java.text.simpledateformat; import java.util.calendar; import java.util.list; импорт java.util.random; импорт javax.annotation.resource; импорт javax.servlet.http.httpserveltrequest; import javax.servlet.http.httpsErquest; importserseSpeSpeSpeSpesseSpErquest; org.apache.struts2.servletactuctionContext; import org.springframework.steretype.controller; import com.cpsec.tang.chemical.biz.documentbiz; import com.cpsec.tang.chemical.entity.document; импорт com.cpsec.tang.chemical.util.pager; com.opensymphony.xwork2.actionsupport; @controller ("DocumentAction") Общедоступный документ Decoctions ExtionsUpport {Private String FileName; public String downloadfile () {System.out.println (filename); try {httpservletresponse response = servletactionContext.getResponse (); // Установите файл тип mime response.setContentType (servletactionContext.getServletContext (). GetMimeType (имя файла)); // Установить ответ на дискуссию содержимого.setheader ("Содержимое-дискуссии", "Приложение; filename ="+filename); // Получить абсолютный путь целевого файла string fullfilEname = servletactionContext.getServletContext (). GetRealPath ("/files/" + filename); //System.out.println(fullfilename); // Читать файл inputstream в = new FileInputStream (FullFilEname); // Читать целевой файл и записать целевой файл клиенту через ответ outputstream out = response.getOutputStream (); // написать файл int b; while ((b = in.read ())! = -1) {out.write (b); } in.close (); out.close (); } catch (Exception e) {e.printstackTrace (); } вернуть успех; }}Спасибо за чтение, я надеюсь, что это поможет вам. Спасибо за поддержку этого сайта!