2017-01-13 4 views
0

Ich versuche, einen Restanruf zu konsumieren, der den Speicherort der Datei in os übernimmt. Im Gegenzug simuliert der Rest-Aufruf einen Download der Datei.Rest Anruf funktioniert nicht

unten ist der Code

<div class="form-container"> 
     <h1>Welcome to CoinPay</h1> 

     Click on below links to download Coin.<br /><br /> 

     <a href="<c:url value='/download/<%=request.getParameter("dest") %>' />">Coin Mobile 
      Application</a> 


    </div> 

In Parameter "dest" Werte D:/coinFiles/Coin-v1.1.8.apk ist.

Der Rest ruft defination ist unten angegeben

@RequestMapping(value="/download/{dest}", method = RequestMethod.GET) 
    public void downloadFile(HttpServletResponse response, @PathVariable("dest") String dest) throws IOException { 
} 

aus irgendeinem Grunde der von href erstellt Link nicht in der Lage ist, den Rest Anruf zuzugreifen.

Wie soll ich das tun? Jede Hilfe wird geschätzt. Vielen Dank im Voraus.

Antwort

1

Wenn Sie Links erstellen möchten wie /download?dest=testDest Sie <c:param> verwenden können.

<c:url value="/download" var="myURL"> 
    <c:param name="dest" value="${dest}" /> 
</c:url> 

<a href="${myURL}" />${myURL}</a> 

Und bitte ändern Sie Ihren Controller. @RequestParam

@RequestMapping(value="/download", method = RequestMethod.GET) 
public void downloadFile(HttpServletResponse response,@RequestParam("dest") String dest) { 
    ....... 
} 
1

Als Ihr dest Variable Schrägstriche in seinem Wert so müssen Sie zunächst Schrägstriche in Pfad param ermöglichen Anmerkung mit wie diese

@RequestMapping(value = { "download/{dest:.+}" }) 
+0

Vielen Dank für Ihre Antwort, aber es funktioniert nicht für mich – abhi314

Verwandte Themen