下载不适用于浏览器中的bash脚本

问题描述 投票:0回答:1

我需要下载以可变结果值开头的内容。下载的页面显示为空白,我觉得编码有问题。您能帮忙解决这个问题吗?

这是在客户端上完成的,我无法控制后端,所以这是唯一可行的方法。

   var result="#!/usr/bin/env bash";
  const filenamecc ="result";
   const url = "data:text/csv;charset=utf-8," + encodeURI(result);
   const link = document.createElement("a");
   link.setAttribute("href", url);
   link.setAttribute("download", filenamecc + ".sh");
   document.body.appendChild(link);
   link.click();
javascript html browser
1个回答
1
投票

#是URL中的特殊字符(您的数据以此开头)。使用Base64编码。

并获得正确的内容类型。

const buff = new Buffer(result);
const encoded = buff.toString('base64');
const uri = 'data:text/x-shellscript;charset=utf-8;base64,' + encoded;
© www.soinside.com 2019 - 2024. All rights reserved.