Fråga : servletnedladdningen sparar med den möjliggjorde javascripten

Hi

This är vad jag behöver achieve.

I har en beställaresida att kodifiera att appeller en servlet med parametrar. Servleten får parametrarna och bearbetar den. Frambring en vinande sparar och överför därefter det baksida till beställaren för nedladdning. ”En räddning som” det ska fönstret visas. Det kör med liten nedladdning sparar utmärkt, därför att ”räddningen som” fönster ska kommet ut rätt - bort. Men med större nedladdning spara, mig skulle något liknande för att ha ett väntande fönster, så användaren som ska för att veta något, nedladdas. För detta ämna, jag behöver att passera någon javascriptbaksida från servleten för att berätta beställaren att vinandet sparar göras frambragte så det väntande fönstret kan vara closed.

This är lappa av kodifierar I-förmiddag using. Förmiddag som I är kompetent att nedladda vinandet, sparar, men jag vet inte hur jag kan inkludera javascript i svaret? Jag har försökt multipelserverpush, men enligt någon forskning, IE fungerar inte för multipelserverpush. För resten mitt bekläda avslutar använder smartgwt. Tack ett lott! för

response.setContentType (”text/html”);
ServletOutputStream för
ut = ogiltigt; försök för
{
ut = för response.getOutputStream ();
//out.write ((””) .getBytes ());
//out.write ((””) .getBytes ());
//
//out.write ((”den " ) .getBytes ());
//out.write ((”om (parent.uploadComplete) parent.exportComplete (””+ ”filename.txt” +””); ”) .getBytes ());
//out.write ((””) .getBytes ());
//
//out.write ((””) .getBytes ());
för
} fångar (undantag e) {
e.printStackTrace (); exportList för

List för
} = nya ArrayList ();
stränger selectedRec = request.getParameter (request.getParameter (”name”));
stränger fileId = ""; försök för
för
{tok för
JSONTokener = nya JSONTokener (selectedRec);
JSONArray jarray = nya JSONArray (tok);
för (int i = 0; i < jarray.length (); i++) {
stränger bana = jarray.getString (I);
logger.debug (”jarray” + I + ”är” + banan); typ för
int = path.split (”/”) .length; fileId för
= path.split (”/”) [2];
om (typ== 3) {
exportList.add (”file=” + banan);
} annars om (typ== 5) {
exportList.add (”document=" + banan);
} annars om (typ== 7) {
exportList.add (”page=” + banan);
för
för
}}} fångar (JSONException e) {
logger.error (”exportfel”, e);
e.printStackTrace (); försök för

för
} {
HashMap outMap =
ExportUtils.getContentFromRepo (”export”, exportList);

// skriver till baosna för vinandefile
ByteArrayOutputStream = ExportUtils.zipFilesen (outMap);

response.setHeader (”Content-Disposition”, ”tillbehöret; filename="
+ fileId +” .zip "); försök för
{
//OutputStream ut = för response.getOutputStream ();
out.write (baos.toByteArray ());
//out.write ((””) .getBytes ());
out.flush ();
} fångar (IOException e) {
e.printStackTrace ();
för
}} fångar (undantag e) {
logger.error (”exportfel”, e);
e.printStackTrace ();
}
" klar "

Svar : servletnedladdningen sparar med den möjliggjorde javascripten

Du kan gå först banan/url av spara med några meddelanden tillbaka (storleksanpassa, filename,…), till webbläsaren därefter webbläsarehälerit ett giltigt meddelande och url-starten som nedladdar spara med urlen, g
Andra lösningar  
 
programming4us programming4us