0

Web サービスから base64 文字列として受け取った Word 文書をダウンロードしようとしています。

私のhtmlページで、ユーザーに単語を入力するためのデータを入力するように依頼し、ユーザーがボタンをクリックすると、単語ドキュメントをダウンロードしたいと思います。

ボタン --> Web サービスに送信 --> Word 文書を作成 --> base64 を返送 --> この base64 を word 文書としてダウンロード

IE9でこれを可能にするためにDownloadifyを使用しています

問題は、Downloadify がページの読み込み時にファイル名とデータを要求することです。ユーザーが同じページにデータを入力した後にのみ、これらの情報を取得します。

Downloadify.create('downloadify', {
    filename: filename,
    data: data,
    onComplete: function () {
        alert('Your File Has Been Saved!');
    },
    onCancel: function () {
        alert('You have cancelled the saving of this file.');
    },
    onError: function () {
        alert('You must put something in the File Contents or there will be nothing to save!');
    },
    transparent: false,
    swf: 'js/lib/Downloadify/media/downloadify.swf',
    downloadImage: 'js/lib/Downloadify/images/download.png',
    width: 100,
    height: 30,
    transparent: true,
    append: false
});

ファイル名とデータをバインドする方法はありますか? または、すでにすべてのデータを取得し、「ディスクに保存」を要求する別のページを追加する必要がありますか?

4

1 に答える 1

0

おそらくIIFEを使用できます。

filename: (function(){return $('#file-name-input').val();}())

事前に宣言する必要がありますが、Downloadify はファイルの保存時にのみそのルックアップを行うと想定しています。

それ以外の場合は、必要なテキスト ボックスが入力されて確認されるまで、ダウンロード ボタンを生成する Downloadify.create() を実行しないでください。

dataところで、Downloadify ドキュメントでは、プロパティが関数を指すようにすることが許可されていると述べています。その例は次のようになります

data: function() { return "data that comprises the file contents"; }

于 2016-02-02T22:10:06.240 に答える