猿问

通过jQuery.Ajax下载文件

通过jQuery.Ajax下载文件

我在服务器端有一个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中我看到使用二进制流检索数据。我想知道如何打开用户可以在本地保存文件的文件下载窗口


呼唤远方
浏览 6723回答 4
4回答

守着星空守着你

您不需要通过Ajax执行此操作。只是用window.location="download.action?para1=value1...."
随时随地看视频慕课网APP
我要回答