Javascript Blob函数未下载二进制内容

Javascript Blob函数未下载二进制内容,javascript,Javascript,此javascript代码不下载实际文件,而是将URL的路径+文件名放入名为requestRouter_amd64.msi的文件的内容中: <p> <script type = "text/javascript"> async function downloadFile(filePathAndName, fileDataContentType, fileName) { try { fileDataContentTy

此javascript代码不下载实际文件,而是将URL的路径+文件名放入名为requestRouter_amd64.msi的文件的内容中:

 <p>
 <script type = "text/javascript">

    async function downloadFile(filePathAndName, fileDataContentType, fileName) {
    try {
        fileDataContentType = "octet/stream"
            const blob = new Blob([filePathAndName], {
            type: fileDataContentType
        });
        const link = document.createElement('a');
        link.href = window.URL.createObjectURL(blob);
        link.download = fileName;
        link.click();

    } catch (error) {}
}


downloadFile("https://download.microsoft.com/download/E/9/8/E9849D6A-020E-47E4-9FD0-A023E99B54EB/requestRouter_amd64.msi", "application/zip", "requestRouter_amd64.msi");


 </script>
</p>

异步函数下载文件(filePathAndName、fileDataContentType、fileName){
试一试{
fileDataContentType=“八位字节/流”
const blob=新blob([filePathAndName]{
类型:fileDataContentType
});
const link=document.createElement('a');
link.href=window.URL.createObjectURL(blob);
link.download=文件名;
link.click();
}捕获(错误){}
}
下载文件(“https://download.microsoft.com/download/E/9/8/E9849D6A-020E-47E4-9FD0-A023E99B54EB/requestRouter_amd64.msi“,”应用程序/zip“,”请求路由器_amd64.msi“;


我还尝试了fileDataContentType的“application/zip”,但结果相同。

据我所见,blob会消耗客户端内存。因此,我遵循上一次输入的解决方案,通过流下载文件。尽管我没有使用CSS来移动链接,但工作起来就像是一种享受。

据我所见,blob会消耗客户端内存。因此,我遵循上一次输入的解决方案,通过流下载文件。尽管我没有使用CSS来移动链接,但它的工作方式很好。

这就是
Blob
构造函数所做的。它实际上不进行任何网络交互。您需要使用
fetch
XMLHttpRequest
将文件内容下载为字节,然后将字节数组传递给
Blob
构造函数。这是否回答了您的问题?我希望,我只是不知道,在这个链接中,在选项1和选项2的行打开(“获取”,它们有requestUrl。requestUrl应该用文件的完整url来填充吗?比如?如果是这样,它是用单引号还是双引号括起来的?只需传递requestUrl的
filePathAndName
。你的意思是我把xhr代码放在我的函数downloadFile中了吗?这就是
Blob
构造函数所做的。它实际上没有任何作用工作交互。您需要使用
fetch
XMLHttpRequest
将文件内容下载为字节,然后将字节数组传递给
Blob
构造函数。这是否回答了您的问题?我希望,我只是不知道,在该链接中,在打开的行(“GET”)的选项1和2中是什么,它们有requestUrl。requestUrl应该用文件的完整url填写吗?比如?如果是,它是用单引号还是双引号括起来的?只需传递requestUrl的
filePathAndName
。你的意思是我把xhr代码放进了我的函数下载文件中?