0

ユーザーがサーバー側からいくつかのファイルをダウンロードできるようにする単純なWebサイトを作成しています。これらのファイルは事前に作成されません。つまり、html ページにボタンが表示されます。ユーザーがそのボタンをクリックすると、ページはサーバーに別のサーバーからそれらのファイルを取得してユーザーに圧縮するように要求します。

現在jqueryを使用しています。ダウンロード ボタンのあるポップアップ ダイアログ フォームを作成しました。

$("#dialog-form").dialog({
    autoOpen: false,
    height: 300,
    width: 350,
    modal: true,
    buttons: {
        "Download": function() {},
        close: function() {}
    }
});

ユーザーがダウンロード ボタンをクリックすると、ユーザーはサーバーがファイルを生成するのを待つ必要があります (つまり、ブロッキング コール)。

私はWeb開発に非常に慣れていません。誰か助けてくれませんか?

ありがとう!

4

3 に答える 3

1

ファイルを提供したいだけの場合は、ダウンロードボタンでファイルの場所を指定するだけです

$("#dialog-form").dialog({
    autoOpen: false,
    height: 300,
    width: 350,
    modal: true,
    buttons: {
        "Download": function() {window.location='{your file location}'},
        close: function() {}
    }
});

zip 形式にしたい場合は、サーバー側のプラグインを使用して zip に変換する必要があります。

于 2013-01-08T20:27:56.957 に答える
0

すでに述べたように、サーバー側の機能を実装する必要があります。考えられる解決策は、次のようなPHPスクリプトです。

<?php
// Code to create the file, I assume it will be an PNG image
$tempFilename = "your_file_name.png";

// The following two lines are important to turn the response into 
// a file download

header('Content-Type: image/png');
header('Content-Disposition: attachment; filename="' . $tempFilename . '"');

// this actually sends the file to the client, there are other
// ways to do this
readfile($tempFilename);
?>

次に、ApacheなどのPHP対応サーバーを用意し、PHPスクリプトをどこかに配置して、URL経由でアクセスできるようにする必要があります。

もちろん、使用したい他のサーバー側テクノロジーを使用してこれを行うことは可能です。コードは異なりますが、原則は同じです。

于 2013-01-08T21:06:36.410 に答える
0

その部分を処理するには、ある種のサーバー側機能が必要です。クライアント コード (JavaScript + jQuery) は、サーバー側のコードから切り離されています。リクエストを開始しますが、サーバー側のコードは完全に独自のアプリケーション コンテキストで動作し、リクエストを処理します。

選択できるサーバー側のプラットフォームは多数あります。

  • ASP.NET
  • PHP
  • ルビー
  • ジャワ
  • パイソン
  • Node.js

さらに、各プラットフォームには、プロジェクトに役立つさまざまなフレームワークがあります。

最初の考慮事項には次のようなものがあります。

  • これをどこでホストし、そこで何が利用できますか?
  • 他に最も使い慣れているプログラミング言語は何ですか?
于 2013-01-08T20:25:17.600 に答える