Frage : servlet Downloadakte mit dem Javascript ermöglicht

Hallo, ist

This, was ich achieve.

I habe einen Klientenseitencode benötige, der ein servlet mit Parametern benennt. Das servlet erhält die Parameter und verarbeitet ihn. Eine Zip Datei erzeugen und sie zurück zu Klienten für Download dann senden. „Außer als“ Fenster erscheint. Es laufen lässt großes mit kleiner Downloadakte, weil „außer als“ Fenster sofort herauskommt. Aber mit größerer Downloadakte, möchte ich ein Wartefenster haben, also weiß der Benutzer, dass etwas herunterladen. Zu diesem Zweck muss ich irgendein Javascript vom servlet zurück führen, um dem Klienten zu erklären, dass die Zip Datei erzeugte getan, also das Wartefenster closed.

This sein kann ist das Stück des Codes, den ich verwende. Ich in der Lage bin, die Zip Datei herunterzuladen, aber ich kann nicht, ich Javascript in der Antwort einschließen kann? Ich versucht mehrfachen Bedienerstoß, aber entsprechend etwas Forschung, arbeitet IE nicht für mehrfachen Bedienerstoß. Übrigens benutzt meine Vorderseite smartgwt. Dank viel!

response.setContentType („text/html“) ;

ServletOutputStream heraus = Null;
Versuch {
heraus = response.getOutputStream () ;
//out.write ((„").getBytes ());
//out.write ((„").getBytes ());
//
//out.write ((„").getBytes ());
//
//out.write ((„").getBytes ());

} Fang (Ausnahme e) {
e.printStackTrace ();
}

List exportList = neues ArrayList ();
Schnur selectedRec = request.getParameter (request.getParameter („name“));
Schnur fileId = "";

Versuch {
JSONTokener tok = neues JSONTokener (selectedRec);
JSONArray jarray = neues JSONArray (tok);
für (int I = 0; I < jarray.length (); i++) {
Schnurweg = jarray.getString (i);
logger.debug („jarray“ + „ist“ i + + Weg);
int Art = path.split („/").length;
fileId = path.split („/") [2];
wenn (Art == 3) {
exportList.add („file=“ + Weg);
} sonst wenn (Art == 5) {
exportList.add („document= " + Weg);
} sonst wenn (Art == 7) {
exportList.add („page=“ + Weg);
}
}
} Fang (JSONException e) {
logger.error („Exportstörung“, e);
e.printStackTrace ();
}

Versuch {
HashMap outMap =
ExportUtils.getContentFromRepo („export“, exportList);

// schreiben zu den Reißverschluss file
ByteArrayOutputStream baos = zum ExportUtils.zipFiles (outMap);

response.setHeader („Content-Disposition“, „Zubehör; filename= "
+ fileId +“ .zip ");
Versuch {
//OutputStream heraus = response.getOutputStream () ;
out.write (baos.toByteArray ());
//out.write ((„").getBytes ());
out.flush ();
} Fang (IOException e) {
e.printStackTrace ();
}
} Fang (Ausnahme e) {
logger.error („Exportstörung“, e);
e.printStackTrace ();
}

Antwort : servlet Downloadakte mit dem Javascript ermöglicht

Sie können den Weg/URL der Akte mit einigen Mitteilungen (Größe, Dateiname,…) zuerst zurückbringen zum Browser dann zur Verfügung stellte der Browser, der eine gültige Mitteilung und URL-Anfang herunterladen die Akte mit dem URL empfängt
Weitere Lösungen  
 
programming4us programming4us