如何更改下载名称,目前下载名称是一串编码,路过的大佬们帮我看看怎么实现,谢谢

image.pngimage.pngimage.png

image.png

FineReport 用户fkD4k6766 发布于 2025-2-7 11:57
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2025-2-7 12:33

换个方式,自定义下

function downloadFile(url, fileName) {

    const xhr = new XMLHttpRequest();

    xhr.open('GET', url, true);

    xhr.responseType = 'blob';

    xhr.onload = function() {

        if (xhr.status === 200) {

            const blob = xhr.response;

            const url = URL.createObjectURL(blob);

            const a = document.createElement('a');

            a.style.display = 'none';

            a.href = url;

            a.download = fileName;

            document.body.appendChild(a);

            a.click();

            document.body.removeChild(a);

            URL.revokeObjectURL(url);

        }

    };

    xhr.send();

}

var fileUrl="http://localhost:8070/webroot/help/通讯录.xls";

downloadFile(fileUrl, '自定义文件名')

image.png

=========

效果

image.png

  • 用户fkD4k6766 用户fkD4k6766(提问者) 您好,您给出的js 我看不太懂,有些复杂。能不能在我截图那界面基础上增加代码?
    2025-02-07 14:25 
  • snrtuemc snrtuemc 回复 用户fkD4k6766(提问者) 我的代码完全复制,去掉var fileUrl="http://localhost:8070/webroot/help/通讯录.xls";这一行,最后downloadFile(fileUrl, '自定义文件名')中 自定义文件名 改成 你的自己的名字就可以,例如,
    function downloadFile(url, fileName) {
    const xhr = new XMLHttpRequest();
    xhr.open('GET', url, true);
    xhr.responseType = 'blob';
    xhr.onload = function() {
    if (xhr.status === 200) {
    const blob = xhr.response;
    const url = URL.createObjectURL(blob);
    const a = document.createElement('a');
    a.style.display = 'none';
    a.href = url;
    a.download = fileName;
    document.body.appendChild(a);
    a.click();
    document.body.removeChild(a);
    URL.revokeObjectURL(url);
    }
    };
    xhr.send();
    }
    downloadFile(fileUrl, '竞价报告')
    2025-02-07 14:28 
  • 用户fkD4k6766 用户fkD4k6766(提问者) 回复 snrtuemc 好的,完全复制了,测试了一下,下载名称还是一串编码。function downloadFile(fileUrl, fileName) {
    const xhr = new XMLHttpRequest();
    xhr.open('GET', fileUrl, true);
    xhr.responseType = 'blob';
    xhr.onload = function() {
    if (xhr.status === 200) {
    const blob = xhr.response;
    const url = URL.createObjectURL(blob);
    const a = document.createElement('a');
    a.style.display = 'none';
    a.href = fileUrl;
    a.download = fileName;
    document.body.appendChild(a);
    a.click();
    document.body.removeChild(a);
    URL.revokeObjectURL(fileUrl);
    }
    };
    xhr.send();
    }
    downloadFile(fileUrl, '竞价报告')
    2025-02-07 15:09 
  • snrtuemc snrtuemc 回复 用户fkD4k6766(提问者) 不会吧,我测试没问题的啊。。。你上面版本,我是11版本的,测试可以的
    2025-02-07 15:10 
  • 用户fkD4k6766 用户fkD4k6766(提问者) 回复 snrtuemc 难道和版本有关吗,我是9.0版本的
    2025-02-07 15:17 
最佳回答
0
用户k6280494Lv6专家互助
发布于2025-2-7 11:59

取得是链接后缀名称,你后缀名是中文名称才行

  • 用户fkD4k6766 用户fkD4k6766(提问者) 哪个后缀名称?意思是需要在数据库字段这里先变成中文名称,下载名称才会是中文名称吗
    2025-02-07 12:09 
  • 用户k6280494 用户k6280494 回复 用户fkD4k6766(提问者) 用楼下的js试试
    2025-02-07 13:05 
  • 3关注人数
  • 61浏览人数
  • 最后回答于:2025-2-7 12:33
    请选择关闭问题的原因
    确定 取消
    返回顶部