Wie lade ich eine Datei mit Spring MVC von der URL herunter?

Ich habe die Download-Option in meinem JSP wie folgt

<a href='<c:url value="/licensing/download.sp?name=${namelist.name}&downloadUrl=${namelist.url}"/>'>

<img src="/images/download.gif" alt="Download" border="0" align="right">

In der obigen "URL" ist der Speicherort der Datei und der Name ist der Dateiname. Ein Klick auf die Download-Option in JSP iam ruft die Controller-Methode download in Controller auf

public ModelAndView download(HttpServletRequest request, HttpServletResponse response, DevTechBean devTechBean) throws Exception {
        cat.debug("MySuiteListController: download: begin");
        ModelAndView modelView = super.handleLicensingRequest(request, response);
        String name = request.getParameter("name");

        String url1 = request.getParameter("downloadUrl");
        cat.debug(" download: url ="+url1);

        String downloadurl1="https://my.net:8869"+url1;
        cat.debug(" download: downloadurl ="+downloadurl1);
    try{
        URL url = new URL(downloadurl1);  
        //response.setHeader("Content-Type", "text/csv");  
        response.setHeader("Content-disposition", "attachment;filename="+name);
        URLConnection connection = url.openConnection();
        InputStream stream = connection.getInputStream();
        BufferedOutputStream outs = new BufferedOutputStream(response.getOutputStream());
        int len;
        byte[] buf = new byte[1024];
        while ((len = stream.read(buf)) > 0) {
          outs.write(buf, 0, len);
        }
        outs.close();
    }
    catch (MalformedURLException e) { 
        cat.error("Error occurrred in url");

    } 
    catch (IOException e) { 
        cat.error("Error occurrred ");

    }
        String viewName = "swl_download";
    modelView.setViewName(viewName);
return modelView;       

}

Aber wenn ich auf Download klicke, erhalte ich die Datei nicht gefunden Ausnahme. Ich denke, dass das Problem auf den URL-Wert zurückzuführen ist. In der obigen Tabelle habe ich den Wert downloadurl = / files / download / hai.txt

wenn ich gebe

<a href="${namelist.url}"/>
<img src="/images/download.gif" alt="Download" border="0" align="right"></a><br/><br/></td>

beim klicken öffnet sich die datei im browser mit der urlhttps://my.net:8869//files/download/hai.txt(but hier für href ich gebe nur diesen link "/files/download/hai.txt" weiß nicht wie der gesamte link kommt.

Wenn Sie jedoch einen solchen Link angeben, wird der Controller zum Öffnen dieser Datei als Popup aufgerufen.

<a href='<c:url value="/download.sp?name=${namelist.name}&downloadUrl=${namelist.url}"/>'>

Ausnahmefehler beim Abrufen der Datei. Ich denke, es liegt daran, dass downloadUrl.so ich oben so hinzugefügt habe

String downloadurl1="https://my.net:8869"+url1;

Aber ich bekomme Datei nicht Ausnahme zu finden. Bitte helfen Sie mir bei der Lösung dieses Problems.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage