当前位置: 首页 > 面试题库 >

在服务器中创建文件后,使用jQuery下载文件

段干安和
2023-03-14
问题内容

当我单击客户端上的按钮时,我想使用AJAX在服务器端调用公共静态web方法。静态方法将创建适当的文件。创建文件后,我需要将其下载到客户端桌面。我已经找到John
Culvinar的jquery filedownload插件,
但到目前为止还无法实现。我知道使用此插件还需要编写一个cookie,以便它知道下载已完成。该代码在服务器端放在哪里?创建文件后?如果有人可以在这种情况下(例如在jsfiddle.net上)给我展示示例,我将非常高兴


问题答案:

我建议用隐藏的iframe代替ajax请求,然后当服务器返回上述文件时,它将自动要求用户下载它。

//name of iframe
var strName = ("uploader" + (new Date()).getTime());
// the iframe
var jFrame = $( "<iframe name=\"" + strName + "\" src=\"about:blank\" />" ).css( "display", "none" );

jFrame.load(function( objEvent ){     
    // at this point the user should have been asked to download a file.

    // Remove the iFrame from the document.
    // Because FireFox has some issues with
    // "Infinite thinking", let's put a small
    // delay on the frame removal.
    setTimeout(function(){
        jFrame.remove();
    },100);
});

var form = $('<form>').attr( "action", "upload_act.cfm" )
    .attr( "method", "post" )
    .attr( "enctype", "multipart/form-data" )
    .attr( "encoding", "multipart/form-data" )
    .attr( "target", strName );

form.append('<input type="hidden" name="somename">').val("someval");

$( "body:first" ).append( jFrame, form );

(以上代码原始改编自http://www.bennadel.com/blog/1244-ColdFusion-jQuery-And-AJAX-File-
Upload-Demo.htm

另一种选择是将其分为两个步骤。步骤1生成文件并返回url,步骤2用户单击下载(这将是指向该url的锚标记)。



 类似资料:
  • 我有下面的代码从mkyong得到,到本地的zip文件。但,我的要求是在服务器上压缩文件,并需要下载。谁能帮忙吗。 写入zipFiles的代码: 我可以在fileoutputstream这里提供什么?内容文件和导航文件是我从代码中创建的文件。

  • 问题内容: 嗨,我有一堆.mp3文件,我想与NSFileManager一起使用并存储在documents文件夹中。有没有一种方法可以在线下载.mp3文件,然后将其保存到documents文件夹?这就是我正在使用的本地文件。 问题答案: 编辑/更新: Xcode 11.5•Swift 5.2 原始答案 Xcode 8.3.2•Swift 3.1

  • 问题内容: 在我的Java应用程序中,我正在使用以下方法从服务器下载文件。 但是此下载非常慢。我该如何快速? 问题答案: 从Java 7开始,您可以下载具有以下内置功能的文件: 对于早期版本,从Java 1.4到Java 6的解决方案是 此代码将URL内容传输到没有任何第三方库的文件。如果仍然很慢,那您就知道这不是附加库的问题,很可能不是Java的问题。至少您在这里没有什么可以改善的。因此,您应该

  • 问题内容: 我正在使用jsch从服务器下载文件,下面是我的代码。 com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2629) at com.jcraft.jsch.ChannelSftp._get(ChannelSftp.java:977) at com.jcraft.jsch.ChannelSftp.get(Channe

  • 问题内容: 我想从使用安全连接协议HTTPS的服务器下载文件。我可以在普通服务器上进行操作,但是,如何使用HTTPS进行操作。如果有人使用了示例API,请帮助我找到有用的资源。 问题答案: 与Java访问HTTPS URL相同,然后访问HTTP URL。您可以随时使用 但是,当无法验证服务器的证书链时,您可能会遇到一些问题。因此,出于测试目的,您可能需要禁用证书验证并信任所有证书。 为此,请写:

  • 问题内容: 我有一个URL,用于保存我的工作中的一些项目,它们大部分是MDB文件,但也有一些JPG和PDF。 我需要做的是列出该目录中的每个文件(已完成)并为用户提供下载它的选项。 使用PHP如何实现? 问题答案: 要读取目录内容,可以使用readdir()并使用脚本(在我的示例中)来下载文件 在其中,您可以强制浏览器发送下载数据,并使用basename()来确保客户端不会传递其他文件名,例如