我尝试从我的网络服务中下载一个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
});
有没有办法绑定文件名和数据? 或者我应该添加另一个已经获得所有数据的页面,并且只是要求“保存在磁盘上”?
答案 0 :(得分:0)
您可以使用IIFE,例如
filename: (function(){return $('#file-name-input').val();}())
我假设Downloadify只会在文件保存时进行查找,即使它需要事先声明它。
否则,请不要运行生成下载按钮的Downloadify.create(),直到填写并确认必要的文本框为止。
顺便说一句,在Downloadify文档中,他们提到您可以将data
属性指向函数。一个例子是
data: function() {
return "data that comprises the file contents";
}