AngularJS Downloadify绑定数据

时间:2015-05-12 09:33:18

标签: javascript angularjs downloadify

我尝试从我的网络服务中下载一个word文档作为base64字符串。

在我的html页面上,我要求用户输入一些数据来填充单词,当用户点击按钮时我想下载word文档。

按钮 - >发送到网络服务 - >创建word文档 - >发回base64 - >下载此base64作为word文档

我正在使用Downloadify在IE9中实现这一目标

问题是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
});

有没有办法绑定文件名和数据? 或者我应该添加另一个已经获得所有数据的页面,并且只是要求“保存在磁盘上”?

1 个答案:

答案 0 :(得分:0)

您可以使用IIFE,例如

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

我假设Downloadify只会在文件保存时进行查找,即使它需要事先声明它。

否则,请不要运行生成下载按钮的Downloadify.create(),直到填写并确认必要的文本框为止。

顺便说一句,在Downloadify文档中,他们提到您可以将data属性指向函数。一个例子是

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