Έχω μια ενέργεια Struts2 στην πλευρά του διακομιστή για τη λήψη αρχείων.
<action name="download" class="com.xxx.DownAction">
<result name="success" type="stream">
<param name="contentType">text/plain</param>
<param name="inputName">imageStream</param>
<param name="contentDisposition">attachment;filename={fileName}</param>
<param name="bufferSize">1024</param>
</result>
</action>
Ωστόσο, όταν καλώ την ενέργεια χρησιμοποιώντας το jQuery:
$.post(
"/download.action",{
para1:value1,
para2:value2
....
},function(data){
console.info(data);
}
);
στο Firebug βλέπω ότι τα δεδομένα ανακτώνται με το Βinary stream. Αναρωτιέμαι πώς μπορώ να ανοίξω το παράθυρο λήψης αρχείου με το οποίο ο χρήστης μπορεί να αποθηκεύσει το αρχείο τοπικά;
ενημέρωση για τα σύγχρονα προγράμματα περιήγησης του 2019
Αυτή είναι η προσέγγιση που θα συνιστούσα τώρα με μερικές επιφυλάξεις: