我在服务器端有一个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中,我看到数据是通过Binary流检索的。我想知道如何打开文件下载窗口,用户可以用它在本地保存文件吗?
没有人发布此@Pekka的解决方案 ...所以我将其发布。它可以帮助某人。
您不需要通过Ajax进行此操作。只需使用