开发过程中遇到一种场景,提交 echarts 的 base64 图片字符串到后台,后台生成导出 excel 表格包含该图片
考虑到 base64 图片字符串长度很长,需要使用 post 方式提交
但 ajax 无法提交的请求无法下载文件,所以模拟 form post 请求
js代码如下:
/** 下载文件
* options:{
* url:'', //提交地址
* data:{name:value}, //要发送的数据
* method:'post|get' //提交方式
* }
*/
function downloadFile(options) {
var iframe = $('<iframe />');
var form = $('<form method="' + options.method + '" />');
form.attr('action', options.url);
for (var key in options.data) {
form.append('<input type="hidden" name="' + key + '" value="' + options.data[key] + '" />');
}
iframe.append(form);
$(document.body).append(iframe);
form[0].submit();
iframe.remove();
}
ConstXiong 备案号:苏ICP备16009629号-3