Download do arquivo javaweb
Não diga download com a tag <a>, isso abrirá o arquivo em vez de baixar
Por exemplo:
<a href = "e: /mydesktop/37feCD65330184DE67D419A8D02E7081.JPG"> Download </a>
Se eu escrever dessa maneira, o navegador abrirá a imagem diretamente, a menos que seja um arquivo que não possa ser aberto pelo navegador
Portanto, ainda precisamos usar o próprio Java para ler e escrever arquivos para baixar arquivos
<a href = "DownloadFile? FileName = <S: Property Value = 'Document_filename'/>"> Download </a>
pacote com.cpsec.tang.chemical.action; importar java.io.file; importar java.io.fileInputStream; importar java.io.fileNotFoundException; importar java.io.fileoutstream; import java.io.ioexception; import java.io.InputStream; importestream; importações; java.text.simpledEformat; importar java.util.calendar; importar java.util.list; importar java.util.random; importar javax.annoTation.Resource; importar javax.servlet.http.httpsletleTresttTeTTax. org.apache.struts2.servletActionContext; importar org.springframework.steretype.controller; importar com.cpsec.tang.chemical.biz.documentbiz; importação com.cpsec.tang.chemical.entity.document; importação com.cpsec.tang.chemical.Tang.Tang.Tang.Chemical.entity.document; importação com.opensymphony.xwork2.actionsupport; @Controller ("DocumentAction") Public Class DocumentAction estende o ActionApport {private string filename; public String DownloadFile () {System.out.println (nome do arquivo); tente {httpServletResponse Response = servletActionContext.getResponse (); // Defina o arquivo MIME TYPE A Response.SetContentType (ServletActionContext.getServletContext (). GetMimetype (FileName)); // Definir content-Disposition Response.setheader ("Content-Disposition", "Applement; filename ="+FileName); // Obtenha o caminho absoluto da sequência de arquivos de destino fullfilename = servletActionContext.getServletContext (). GetRealPath ("/files/" + filename); //System.out.println(fullfilename); // Leia o arquivo inputStream em = new FileInputStream (FullFileName); // Leia o arquivo de destino e escreva o arquivo de destino para o cliente através da resposta outputStream out = Response.getOutputStream (); // escreva o arquivo int b; while ((b = in.read ())! = -1) {out.write (b); } in.close (); out.Close (); } catch (Exceção e) {e.printStackTrace (); } retornar sucesso; }}Obrigado pela leitura, espero que isso possa ajudá -lo. Obrigado pelo seu apoio a este site!