Cet article partage les composants de téléchargement de printemps 4 pour votre référence. Le contenu spécifique est le suivant
package com.hnust.common.Controller; import org.apache.commons.io.fileutils; import org.springframework.http.httpheaders; import org.springframework.http.httpstatus; import org.springframework.http.mediaType; import org.springframework.http.Responsentity; org.springframework.web.bind.annotation.restController; import java.io.file; import java.io.ioException; import java.io.unsuppordencodingException; import java.net.urlencoder; / ** * Créé par Heweipo le 2016/5/27. * <p> * Télécharger General Controller * / @ RestControllerPublic Class DownloadController étend BaseController {/ ** * Télécharger Fichier Méthode générale * * @param Objet de fichier de fichier * @return File Byte Stream * / Public Responsentity <yte []> export (fichier file) {return Export (file.getName (), file); } / ** * Méthode générale de téléchargement de fichiers * * @param nom de fichier nom * @param objet de fichier de fichier * @return file byte stream * / public réponsentity <byte []> export (string filename, fichier file) {httpheaders en-têtes = new httpheaders (); En-thers.setContentType (mediaType.Application_octet_stream); en-têtes.setContentDispositionFormData ("attachement", encodeFileName (nom de fichier)); Responsentity <byte []> rs = null; Essayez {// httpstatus.Created 201 ne peut pas être utilisé ici car IE Edge ne peut pas le reconnaître, mais Firefox Chrome n'est pas un problème RS = nouvelle réponse <> (fileutils.readfiletoByteArray (fichier), en-têtes, httpstatus.ok); } catch (ioException e) {// Throw New CommonException (ResponseStatusEnum.file_error, e); } return rs; } / ** * Le nom du fichier de téléchargement, qui est le nom affiché dans le navigateur * * @param nom de fichier de fichier * @return a ajouté le nom du fichier * <p> * ie * mozilla / 5.0 (Windows NT 10.0; wow64; Trident / 7.0; RV: 11.0) comme Gecko * <p> * Edge * Mozilla / 5.0 (Windows NT 10.0; Win64; Applewebkit / 537.36 (khtml, comme gecko) Chrome / 46.0.2486.0 Safari / 537.36 Edge / 13.10586 * <p> * Firefox * Mozilla / 5.0 (Windows NT 10.0; wow64; RV: 46.0) Gecko / 20100101 Firefox / 46.0 * <p> * * Chrome / 20100101 Firefox / 46.0; MOZILLA / 5.0 (Windows NT 10.0; Wow64) Applewebkit / 537.36 (Khtml, comme Gecko) Chrome / 47.0.2526.106 Safari / 537.36 * / private String EncodeFileName (String FileName) {String Name = FileName; try {String agent = request.getheader ("user-agent"). tolowercase (); if (null! = agent && (agent.contains ("msie") || agent.contains ("edge"))) {// ie edge name = urlencoder.encode (filename, "utf-8"); } else if (agent.contains ("safari") || agent.contains ("chrome") || agent.contains ("firefox")) {// safari chrome firefox name = new String (filename.getBytes ("utf-8"), "iso-8859-1"); } else {// ie10 ie11 name = urlencoder.encode (filename, "utf-8"); } // Restaurer le signe plus dans un espace (c'est-à-dire un problème) name = name.replace ("+", "% 20"); } catch (UnportEnCoDingException e) {// lance un nouveau Commonexception (ResponseStatusEnum.failure, E); } Nom de retour; }} Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.